#python #python-requests
#python #python-запросы
Вопрос:
Я получаю очень странную ошибку при отправке запросов HTTPS post, я нашел несколько похожих отчетов, но пока не нашел решения. Если у вас есть какие-либо предложения, мы будем очень признательны!
Traceback (most recent call last):
File "C:/Data/Python Projects/Experement.py", line 14, in send_request
return requests.post(URL '/verify', proxies=proxy).json()
File "C:Python27libsite-packagesrequestsapi.py", line 88, in post
return request('post', url, data=data, **kwargs)
File "C:Python27libsite-packagesrequestsapi.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "C:Python27libsite-packagesrequestssessions.py", line 456, in request
resp = self.send(prep, **send_kwargs)
File "C:Python27libsite-packagesrequestssessions.py", line 559, in send
r = adapter.send(request, **kwargs)
File "C:Python27libsite-packagesrequestsadapters.py", line 327, in send
timeout=timeout
File "C:Python27libsite-packagesrequestspackagesurllib3connectionpool.py", line 488, in urlopen
conn = self._get_conn(timeout=pool_timeout)
File "C:Python27libsite-packagesrequestspackagesurllib3connectionpool.py", line 222, in _get_conn
return conn or self._new_conn()
File "C:Python27libsite-packagesrequestspackagesurllib3connectionpool.py", line 683, in _new_conn
return self._prepare_conn(conn)
File "C:Python27libsite-packagesrequestspackagesurllib3connectionpool.py", line 647, in _prepare_conn
conn.connect()
File "C:Python27libsite-packagesrequestspackagesurllib3connection.py", line 179, in connect
self._tunnel()
File "c:Python27Libhttplib.py", line 759, in _tunnel
line = response.fp.readline(_MAXLINE 1)
TypeError: readline() takes exactly 1 argument (2 given)
Ответ №1:
Похоже, это открытая ошибка в httplib: http://bugs.python.org/issue17849 . К проблеме прилагается короткое исправление, поэтому вы можете просто применить его к своей копии httplib.py
.
Я быстро просмотрел истории фиксации connection.py
в urllib3 и копии urllib3 запросов, но, похоже, не было применено никакого обходного пути.
Ответ №2:
Как вы можете видеть здесь:
line = response.fp.readline(_MAXLINE 1)
TypeError: readline() takes exactly 1 argument (2 given)
функция readline запроса не принимает аргументы, отличные от ‘self’. Так что это действительно ошибка библиотеки.
В конце этого обсуждения: https://github.com/requests/requests/issues/2159 , предполагает, что это может быть неправильно сконфигурированный прокси-сервер, который запускает ошибку, также эта ошибка была исправлена на python 2.7, как вы можете видеть здесь: https://bugs.python.org/issue17849
Возможно, вы можете рассмотреть возможность обновления до python3 и библиотеки запросов.