两种使用代理的方法。
requests使用代理
1 2 3 4
| import requests
url="xxx" requests.get(url,proxies={"https": "xxx.xxx.xxx.xxx:xxxx","http": "xxx.xxx.xxx.xxx:xxxx"})
|
这种方式是我用的最多的,因为自己做的小项目基本上也都是用requests去做请求的。
设置全局变量
后来发现,requests的能力是有极限的,我从短暂的人生中学到……咳咳,串台了。
主要是用第三方包的时候,看源码里边封装了requests的请求,我也不想改源码,于是就想迂回一下找个代码里的全局代理方法。
还真被我找到了,传送门。
太长不看版:
1 2 3 4 5 6 7 8 9 10
| import requests import os
url="xxx" proxy='xxx.xxx.xxx.xxx:xxxx' os.environ['http_proxy'] = proxy os.environ['HTTP_PROXY'] = proxy os.environ['https_proxy'] = proxy os.environ['HTTPS_PROXY'] = proxy requests.get(url)
|
经过测试,这个改动只对当前程序生效,并且也确实起到了代理作用,所以想封装一个函数先改全局变量,发送请求后再改回来,其实也就加几行:
1 2 3 4
| os.environ['http_proxy'] = "" os.environ['HTTP_PROXY'] = "" os.environ['https_proxy'] = "" os.environ['HTTPS_PROXY'] = ""
|