BadStatusLine ('\ x00 \ x06 \ x83 \ x88 HTTP / 1.0 200 Ok \ r \ n',)) - PullRequest
0 голосов
/ 01 февраля 2020

Я отправляю запрос HTTP, используя urllib Python 3, и получаю исключение из строки плохого состояния.

Код:

mote_file = six.moves.urllib.request.urlopen(scan_uri)

Сообщение об ошибке:

request.exceptions.ConnectionError: ('Соединение прервано.', BadStatusLine ('\ x00 \ x06 \ x87 \ x1aHTTP / 1.0 200 Ok \ r \ n',))

The запрос был выполнен успешно, но я получаю исключение из-за специальных символов. У кого-нибудь есть идеи как это исправить или подавить исключение?

1 Ответ

0 голосов
/ 22 февраля 2020

Я понял это для моего сценария.

В C: \ Python36 \ lib \ http \ client.py, я добавил

if not line.startswith("HTTP/"): line = line[4:]

до

try: version, status, reason = line.split(None, 2)

в функции _read_status (self).

Удаляет четыре символа перед проверкой, является ли статус действительным.

...