Discuss / Python / 通过代理访问google

通过代理访问google

Topic source

Mr_RightMen

#1 Created at ... [Delete] [Delete and Lock User]
# 如果还有更复杂的控制,比如说通过一个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())

  • 1

Reply