python – 错误 – urlopen错误[Errno 8] _ssl.c:504:EOF发生违反协议
作者:互联网
我的目的是在输入谷歌搜索词后从第一页的所有链接中提取html.我在代理后面工作,所以这是我的方法.
1.我首先使用mechanize在表单中输入搜索词,我已正确设置代理和机器人.
2.提取链接后,我使用了全局使用urllib2.ProxyHandler的开启工具,单独打开网址.
但是这给了我这个错误.无法搞清楚.
urlopen error [Errno 8] _ssl.c:504: EOF occurred in violation of protocol
解决方法:
您可以通过覆盖ssl_version关键字参数来修补ssl模块中的ssl.wrap_socket(),而不是复制和编辑Python库模块.以下代码可以按原样使用.在提出任何请求之前,请将其放在程序的开头.
import ssl
from functools import wraps
def sslwrap(func):
@wraps(func)
def bar(*args, **kw):
kw['ssl_version'] = ssl.PROTOCOL_TLSv1
return func(*args, **kw)
return bar
ssl.wrap_socket = sslwrap(ssl.wrap_socket)
标签:python,proxy,urllib2,mechanize 来源: https://codeday.me/bug/20191007/1866315.html