1.代理的原理:在请求目的服务器之前,先请求代理服务器,然后让代理服务器去请求目的网站,代理服务器拿到目的网站的数据后再转发给我们的代码
2.http://httpbin.org:这个网站可以方便查看http请求的一些参数
3.在代码中使用代理:
a.使用urllib.request.ProxyHandler
b.传入一个代理,这个代理是一个字典,字典的key依赖于代理服务器能够接收的类型,一般是http或者是https,值是
'ip:port'(免费代理服务器可以选择http://www.xicidaili.com/wt/)
c.使用上一步创建的Handler,以及request.build_opener创建一个opener
d.使用上一步创建的opener,调用open函数,发起请求
from urllib import request
#没有使用代理 ,打印出124.207.38.13
url='http://httpbin.org/ip'
#resp=request.urlopen(url)
#print(resp.read())
#使用代理 打印出来 219.141.153.41
#1.使用ProxyHandler,传入代理构建一个handler
handler=request.ProxyHandler({"http":"219.141.153.41:80"})
#2.使用上面创建的handler构建一个opener
opener=request.build_opener(handler)
#3.使用opener去发送一个请求
resp=opener.open(url)
print(resp.read())