幕后故事:
您可以在一家大型跨国公司享受新的编程工作。但是,由于您的计算机只有一个CLI,因此不允许浏览网络。它们还会对所有员工的硬盘进行扫描,因此您不能简单地下载大型的CLI Web浏览器。您决定制作一个尽可能小的小型文本浏览器,以便记住并每天将其键入到临时文件中。
挑战:
您的任务是在命令行界面中创建高尔夫Web浏览器。这应该:
- 通过args或stdin输入一个URL
- 拆分URL 的
directory
和host
组件 - 发送一个简单的HTTP请求到
host
以请求directory
- 打印任何
<p>
段落</p>
标签的内容 - 然后退出或要求另一页
更多信息:
一个简单的HTTP请求如下所示:
GET {{path}} HTTP/1.1
Host: {{host}}
Connection: close
\n\n
结束换行符强调。
典型的响应如下:
HTTP/1.1 200 OK\n
<some headers separated by newlines>
\n\n
<html>
....rest of page
规则:
- 它只需要在端口80上工作(不需要SSL)
- 您可能不使用netcat
- 无论使用哪种编程语言,都仅允许使用低级TCP API(netcat除外)
- 您可能不使用GUI,请记住,这是一个CLI
- 除内置解析器外,您不能使用HTML解析器(BeautifulSoup不是内置的)
- 奖金!!如果您的程序循环返回并要求另一个URL而不是退出,则为-40个字符(只要您不使用递归)
- 没有第三方程序。请记住,您无法安装任何东西。
- code-golf,所以最短的字节数获胜
import webbrowser;webbrowser.open(url)