0

urllib2 パッケージを使用して API にアクセスしようとしています。コードを実行すると、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
4

1 に答える 1

0

このエラーは、アクセスしようとしているサーバーがリクエストの 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()

Python からの http リクエストを処理するには、リクエストライブラリを使用することを強くお勧めします。

于 2016-03-29T04:14:44.223 に答える