工具:python3
解释:urlopen()不支持代理、cookie等其他的http/https高级功能,所以需要handler处理器创建特定功能的处理器对象,urllib.request.bulid_opener()使用处理器对象创建自定义的opener对象,最后使用自定义的opener对象调用open()方法发送请求
import urllib.request # 构建一个HTTPHandler处理器对象,支持HTTP请求
http_handler = urllib.request.HTTPHandler() # 调用build_oenner()方法构建一个自定义的opener对象,参数是构建的处理器对象
opener = urllib.request.build_opener(http_handler)
request = urllib.request.Request("http://www.baidu.com/")
response = opener.open(request) print(response.read())
在HTTPHandler()中传入参数deglevel=1,会自动打开debug log模式,程序在执行的时候会打印收发包的信息