自从我开始为此寻找解决方案以来,这已经过去了几天。Python请求SSL问题
我一直在尝试使用请求通过代理进行https请求,但没有运气。
Altough这包括在我的一个大项目之前,都做这样的:
import requests
prox = 'xxx.xxx.xxx.xxx:xxx' # fill in valid proxy
r = requests.get('https://ipdb.at', proxies={'http': prox,
'https': prox})
我试过kward验证=假,但我不断收到同样的错误或它的变化:
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]
我使用的请求和OpenSSL和2.7.3的Python的最新版本。我在Mac Mountain Lion 10.8.2和Windows 7上测试了它。
我将其用于搜索,看到其他人有类似的问题。我在库请求和urllib3上发现了相关的pull请求,也看到了有关这是http连接动词的不好实现的信息。我发现使用定制适配器(我不记得准确,但我认为这是正确的术语)使用自定义SSL协议的修复。试了一下,都没有帮助。
所以,我在寻找更多信息。你有什么想法是怎么回事,我可以修复它等等...
欢迎所有帮助,谢谢大家!
PS:我尝试了几个代理,我相信他们不是问题。
甚至没有一个线索猴子补丁小费? :) –
这可能有所帮助:http://stackoverflow.com/questions/13463206/how-to-get-https-content-using-python-requests-through-tor-and-privoxy?rq=1 –
它看起来像urllib3即将支持:https://github.com/shazow/urllib3/pull/139。 –