Получение 505 HTTP-ошибки в Python Django
Я пытаюсь получить доступ к API с помощью пакета urllib2. Когда я запускаю свой код, появляется сообщение об ошибке HTTP 505: версия HTTP не поддерживается. Что я должен делать? Я добавляю основные части моей ошибки здесь. Пожалуйста, помогите мне. Спасибо.
Это моя ошибка
HTTPError at /polls/time/page=4010102930/
HTTP Error 505: HTTP Version Not Supported
Request Method: GET
Request URL: http://127.0.0.1:8000/polls/time/page%3D4010102930/
Django Version: 1.9.2
Exception Type: HTTPError
Exception Value:
HTTP Error 505: HTTP Version Not Supported
Exception Location: C:\Python27\Lib\urllib2.py in http_error_default, line 558
Python Executable: C:\Users\JpG\Virtual_Env\Scripts\python.exe
Python Version: 2.7.10
Python Path:
['E:\\JpGxx\\Python PgMz\\Pure_Python\\DJ_1',
'E:\\JpGxx\\Python PgMz\\Pure_Python\\DJ_1',
'C:\\Windows\\SYSTEM32\\python27.zip',
'C:\\Users\\JpG\\Virtual_Env\\DLLs',
'C:\\Users\\JpG\\Virtual_Env\\lib',
'C:\\Users\\JpG\\Virtual_Env\\lib\\plat-win',
'C:\\Users\\JpG\\Virtual_Env\\lib\\lib-tk',
'C:\\Users\\JpG\\Virtual_Env\\Scripts',
'C:\\Python27\\Lib',
'C:\\Python27\\DLLs',
'C:\\Python27\\Lib\\lib-tk',
'C:\\Users\\JpG\\Virtual_Env',
'C:\\Users\\JpG\\Virtual_Env\\lib\\site-packages',
'C:\\Python27',
'C:\\Python27\\lib\\site-packages']
Server time: Mon, 28 Mar 2016 22:16:10 +0530
1 ответ
Эта ошибка связана с тем, что сервер, к которому вы пытаетесь получить доступ, не поддерживает ваш HTTP-вариант запроса, поэтому вам нужно изменить его. Может быть, вам нужно отправить 1.0 HTTP-запрос.
import urllib2, httplib
httplib.HTTPConnection._http_vsn = 10
httplib.HTTPConnection._http_vsn_str = 'HTTP/1.0'
print urllib2.urlopen('your_url').read()
Я настоятельно рекомендую использовать библиотеку запросов для обработки http-запросов от python.