自从我开始为此寻找解决方案以来已经有好几天了。
我一直在尝试使用请求通过代理发出 https 请求,但没有成功。
尽管这包含在我的一个更大的项目中,但这一切都归结为:
import requests
prox = 'xxx.xxx.xxx.xxx:xxx' # fill in valid proxy
r = requests.get('https://ipdb.at', proxies={'http': prox,
'https': prox})
我尝试了 kward verify=False 但我不断收到相同的错误或它的变体:
Traceback (most recent call last):
File "/Users/mg/Desktop/proxy_service.py", line 21, in <module>
verify=False)
File "/Library/Python/2.7/site-packages/requests/api.py", line 55, in get
return request('get', url, **kwargs)
File "/Library/Python/2.7/site-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 279, in request
resp = self.send(prep, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 374, in send
r = adapter.send(request, **kwargs)
File "/Library/Python/2.7/site-packages/requests/adapters.py", line 213, in send
raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
[Finished in 20.4s with exit code 1]
我正在为 python 使用最新版本的 requests 和 openssl 和 2.7.3。我在 mac mountain lion 10.8.2 和 Windows 7 上对其进行了测试。
我用谷歌搜索了这个,看到其他人有类似的问题。我在库请求和 urllib3 上发现了相关的拉取请求,还看到了有关这是 http 连接动词的错误实现的信息。我找到了一个使用自定义适配器的修复程序(我不记得确切,但我认为这是正确的术语)来使用自定义 ssl 协议。都试过了,都没有帮助。
所以,我正在寻找更多信息。你知道发生了什么吗,我可以修复它,等等,等等......
欢迎所有帮助,谢谢大家!
PS:我尝试了几个代理,我确定它们不是问题。