‘’’
目的:
urlopen有些功能无法实现(代理,cookie等其他高级功能),
如果要实现代理,需要自定义opener而不是urlopen
1.相关Handler处理器创建处理器对象
2. urllib.request.build_opener()方法,把处理器对象传到??生成一个opener对象
3.使用opener对象open方法,打开请求获取响应
如果程序所有请求都是用自定义opener,urllib2.instill_opener()定义全局
‘’’
import urllib.request
url = ‘http://www.baidu.com’
创建Handler处理http请求
http_Handler = urllib.request.HTTPHandler(debuglevel=1) #显示debuglevel日志信息用于调试
使用http_Handler创建opener对象
opener = urllib.request.build_opener(http_Handler)
#构造request对象
request = urllib.request.Request(url)
#4.发送请求,获取响应数据
response = opener.open(request)
print(response.read().decode())