在上一节,使用了Python自带的功能启动了一个HTTP服务器,并通过浏览器浏览到了这个HTTP服务器提供的页面。在浏览的过程中,实际上是浏览器向HTTP服务器发送了一个HTTP请求。
除了使用浏览器发送HTTP请求,通过代码也可以向HTTP服务器发送请求,Python提供了相关的库urllib,通过urllib包里面的request,可以向其他HTTP服务器发起请求。
from urllib import request response = request.urlopen('https://www.imooc.com') # 向慕课网官网发出请求 print(response) # ==> <http.client.HTTPResponse object at 0x000001377D631948>
请求成功的话,会得到一个HTTPResponse,它是来自HTTP服务器的一个回应,可以把这个回应的一些信息打印出来。
状态码:
print(response.status) # ==> 200
状态码是一个三位整数,在HTTP协议的标准里面,定义了很多状态码,其中200表示请求是正常的。
响应头:
for k, v in response.getheaders(): print('{}: {}'.format(k, v))
将会输出以下信息,这是HTTPResponse附带的一些信息,包括服务端的服务器是什么、请求时间、内容类型、内容长度等等。
Server: openresty Date: Thu, 20 Aug 2020 08:16:07 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 376639 Connection: close Vary: Accept-Encoding Vary: Accept-Encoding X-Varnish: 280516221 281284036 Age: 29 Via: 1.1 varnish (Varnish/6.0) X-Cache: HIT from CS42 Accept-Ranges: bytes
请使用Python自带的功能,启动一个HTTP服务器,并使用urllib请求这个服务器,打印出状态码和回应头,并尝试分析这些信息。
1. 请在本地编写代码练习
2. 通过python -m http.server启动一个HTTP服务器
3. 通过urllib request请求对应的地址
请验证,完成请求
由于请求次数过多,请先验证,完成再次请求
打开微信扫码自动绑定
绑定后可得到
使用 Ctrl+D 可将课程添加到书签
举报