我很难找到如何在 urllib3 中构建一个简单脚本的可靠示例,该脚本打开一个 url(通过代理),然后读取它并最终打印它。代理需要用户/通行证来进行身份验证,但是我不清楚你是如何做到这一点的?任何帮助,将不胜感激。
问问题
24177 次
2 回答
13
urllib3 有一个ProxyManager
可以使用的组件。您需要为 Basic Auth 组件构建标头,您可以手动执行此操作,也可以使用make_headers
urllib3 中的帮助程序。
总之,它看起来像这样:
from urllib3 import ProxyManager, make_headers
default_headers = make_headers(proxy_basic_auth='myusername:mypassword')
http = ProxyManager("https://myproxy.com:8080/", proxy_headers=default_headers)
# Now you can use `http` as you would a normal PoolManager
r = http.request('GET', 'https://stackoverflow.com/')
于 2015-07-01T09:08:13.243 回答
6
我相信这个问题的正确答案应该是
from urllib3 import ProxyManager, make_headers
default_headers = make_headers(proxy_basic_auth='myusername:mypassword')
http = ProxyManager("https://myproxy.com:8080/", headers=default_headers)
# Now you can use `http` as you would a normal PoolManager
r = http.request('GET', 'https://stackoverflow.com/')
(注意:proxy_basic_auth,不是 basic_auth)
我在我的环境中尝试使用 basic_auth 没有任何运气。shazow 你把这条评论提交给了 git,这为我指明了正确的方向
于 2016-11-02T09:23:49.143 回答