PythonはHTTPエージェントProxyを使用


urllib 2/urllibエージェント設定
urllib 2はPythonの標準ライブラリで、機能が強く、使うのが少し面倒です.Python 3ではurllib 2は保持されず、urllibモジュールに移行した.urllib 2ではProxyHandlerでプロキシサーバの使用を設定します.
proxy_handler = urllib2.ProxyHandler({'http': '121.193.143.249:80'})
opener = urllib2.build_opener(proxy_handler)
r = opener.open('http://httpbin.org/ip')
print(r.read())

install_も使えますOpenerは、すべてのurllib 2のように構成されたopenerをグローバル環境にインストールする.urlopenはエージェントを自動的に使用します.
urllib2.install_opener(opener)
r = urllib2.urlopen('http://httpbin.org/ip')
print(r.read())

Python使用HTTP代理 Proxy_第1张图片 Python使用HTTP代理 Proxy_第2张图片
Python 3ではurllibを使用します.
proxy_handler = urllib.request.ProxyHandler({'http': 'http://121.193.143.249:80/'})
opener = urllib.request.build_opener(proxy_handler)
r = opener.open('http://httpbin.org/ip')
print(r.read())

requestsエージェント設定
requestsは現在最も優秀なHTTPライブラリの一つであり、私が普段httpリクエストを構築する際に最も多く使用しているライブラリでもあります.そのAPIのデザインは非常に人間的で、使いやすいです.requestsにエージェントを設定するのは簡単で、proxiesに{'http': 'x.x.x.x:8080', 'https': 'x.x.x.x:8080'}のようなパラメータを設定するだけでいいです.ここでhttpとhttpsは互いに独立している.
>>>requests.get('http://httpbin.org/ip', proxies={'http': '121.193.143.249:80'}).json()
>>>{'origin': '121.193.143.249'}

セッションのproxiesプロパティを直接設定することで、リクエストのたびにproxiesパラメータを持ち込む手間を省くことができます.
s = requests.session()
s.proxies = {'http': '121.193.143.249:80'}
print(s.get('http://httpbin.org/ip').json())