Ошибка - ошибка urlopen [Errno 8] _ssl.c: 504: EOF произошел с нарушением протокола, нужна помощь
Моя цель - извлечь html из всех ссылок на первой странице после входа в поисковый запрос google. Я работаю за прокси-сервером, поэтому это мой подход.
1.I сначала использовал механизацию, чтобы ввести поисковый запрос в форме, ive правильно установил прокси и роботы.
2. После извлечения ссылок Ive использовал открыватель, используя urllib2.ProxyHandler глобально, чтобы открыть URL-адреса индивидуально.
Однако это дает мне эту ошибку. Не в состоянии понять это.
urlopen error [Errno 8] _ssl.c:504: EOF occurred in violation of protocol
Ответы
Ответ 1
Вместо копирования и редактирования модулей библиотеки Python вы можете обезвредить ssl.wrap_socket() в модуле ssl, переопределив параметр ключевого слова ssl_version. Следующий код может использоваться как есть. Поместите это в начале вашей программы перед выполнением любых запросов.
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)
Ответ 2
Его известная ошибка, как-то некоторые решения для нее упоминаются в комментариях к этой ссылке. Смотрите их, может быть полезно для вас, URL-адрес ошибки.