gpt4 book ai didi

python - 是否可以在 Python 2.5 中使用 urllib2 通过身份验证代理获取 https 页面?

转载 作者:行者123 更新时间:2023-11-28 18:55:58 25 4
gpt4 key购买 nike

我正在尝试向现有脚本添加身份验证代理支持,因为它是连接到 https url(使用 urllib2.Request 和 urllib2.urlopen)的脚本,抓取页面并根据它具有的内容执行一些操作成立。最初我希望这会像简单地添加一个 urllib2.ProxyHandler({"http": MY_PROXY}) 作为 arg 到 urllib2.build_opener 一样简单,然后传递给 urllib2.install_opener。不幸的是,这在尝试执行 urllib2.Request(ANY_HTTPS_PAGE) 时似乎不起作用。谷歌搜索让我相信 python 2.5 中 urllib2 中的代理支持不支持 https url。至少可以说这让我感到惊讶。

网络上似乎有解决方案,例如 http://bugs.python.org/issue1424152 包含 urllib2httplib 的补丁,它声称可以解决问题(当我尝试这个问题时,我开始收到以下错误:urllib2.URLError: <urlopen error (1, 'error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol')>)。这里有一个食谱 http://code.activestate.com/recipes/456195 我打算接下来尝试一下。总而言之,尽管我很惊讶这不是“开箱即用”的支持,这让我想知道我是否只是错过了一个明显的解决方案,所以简而言之 - 有没有人有一个简单的方法来获取 https 页面在 Python 2.5 中使用带有 urllib2 的身份验证代理?理想情况下,这会起作用:

import urllib2
#perhaps the dictionary below needs a corresponding "https" entry?
#That doesn't seem to work out of the box.
proxy_handler = urllib2.ProxyHandler({"http": "http://user:pass@myproxy:port"})
urllib2.install_opener( urllib2.build_opener( urllib2.HTTPHandler,
urllib2.HTTPSHandler,
proxy_handler ))
request = urllib2.Request(A_HTTPS_URL)
response = urllib2.urlopen( request)
print response.read()

非常感谢

最佳答案

您可能需要查看 httplib2 . examples之一如果 socks 声明支持 SOCKS 代理模块已安装。

关于python - 是否可以在 Python 2.5 中使用 urllib2 通过身份验证代理获取 https 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1152980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com