# 如果还有更复杂的控制,比如说通过一个proxy去访问网站,我们需要利用ProxyHandler来处理 # OpenerDirector使用handler处理任务,所有的重活都交给这些handlers来做,每一个handlers知道怎么以特定的url协议打开url from urllib import request google_url = 'https://www.google.com.hk/' proxy_handler = request.ProxyHandler({ 'https': 'https://127.0.0.1:19888', 'http': 'http://127.0.0.1:19888' }) headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36' } # 返回一个OpenerDirector实例,即这里的opener opener = request.build_opener(proxy_handler) # 安装一个OpenerDirector实例作为全局的默认opener request.install_opener(opener) # 包装下HTTP头 req = request.Request(google_url,headers=headers) with request.urlopen(req) as f: print(f.read().decode()) # with opener.open(req) as f: # print(f.read().decode())
Sign in to make a reply
Mr_RightMen