python-request.exceptions.SSLError:[Errno 8] _ssl.c:504:发生违反协议的EOF
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-request.exceptions.SSLError:[Errno 8] _ssl.c:504:发生违反协议的EOF,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1837字,纯文字阅读大概需要3分钟。
内容图文
![python-request.exceptions.SSLError:[Errno 8] _ssl.c:504:发生违反协议的EOF](/upload/InfoBanner/zyjiaocheng/695/6331cecce2984c5e9eecd3c49de9afaf.jpg)
我已经尝试解决此q&a上的所有问题,但仍然收到该错误.
我的最新尝试基于Lukasa’s comment,我的代码如下所示:
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.poolmanager import PoolManager
import ssl
class MyAdapter(HTTPAdapter):
def init_poolmanager(self, connections, maxsize, block=False):
self.poolmanager = PoolManager(num_pools=connections,
maxsize=maxsize,
block=block,
ssl_version=ssl.PROTOCOL_TLSv1)
proxy = 'https://78.130.136.2:8080'
g = 'https://www.google.com/'
s = requests.Session()
s.mount('https://', MyAdapter())
r = s.get(g, proxies={'https': proxy} )
print r.text.encode('utf-8')
我收到的完整错误是:
Traceback (most recent call last):
File "/Users/Dionysis_Lorentzos/Projects/getter/proxy.py", line 30, in <module>
r = s.get(g, proxies={'https': proxy}, verify=True )
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 347, in get
return self.request('GET', url, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 335, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 438, in send
r = adapter.send(request, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/adapters.py", line 331, in send
raise SSLError(e)
requests.exceptions.SSLError: [Errno 8] _ssl.c:504: EOF occurred in violation of protocol
那么,如何通过https通过代理获取站点数据?
(代理在我的Firefox中正常工作)
解决方法:
在PyPI上的所有Requests版本中,不支持通过代理请求HTTPS站点,因为不支持CONNECT动词.我们针对2.0的预发行分支具有此支持,并且可以在我尝试过的每个代理上使用.如果您想检查一下并尝试使用它,则也不需要自定义适配器.
否则,您将不得不等到我们发布2.0版
内容总结
以上是互联网集市为您收集整理的python-request.exceptions.SSLError:[Errno 8] _ssl.c:504:发生违反协议的EOF全部内容,希望文章能够帮你解决python-request.exceptions.SSLError:[Errno 8] _ssl.c:504:发生违反协议的EOF所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。