2013-09-22 6 views
10

私の迷惑メールボックスと私の開発環境を新しくインストールしていました。私のdjangoプロジェクトを実行しようとすると、次のエラーが発生します。どんなアイデアが起こっている?djangoで異常なUnicodeDecodeError

---------------------------------------- 
[21/Sep/2013 23:44:03] code 400, message Bad HTTP/0.9 request type ('\x16\x03\x00\x00E\x01\x00\x00A\x03\x00R>u\xa6\x00`b\xceZ\xc8\xe6H2\x85') 
---------------------------------------- 
Exception happened during processing of request from ('10.0.2.2', 60969) 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/SocketServer.py", line 582, in process_request_thread 
    self.finish_request(request, client_address) 
    File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request 
    self.RequestHandlerClass(request, client_address, self) 
    File "/home/vagrant/hypnos-venv/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 150, in __init__ 
    super(WSGIRequestHandler, self).__init__(*args, **kwargs) 
    File "/usr/lib/python2.7/SocketServer.py", line 638, in __init__ 
    self.handle() 
    File "/usr/lib/python2.7/wsgiref/simple_server.py", line 117, in handle 
    if not self.parse_request(): # An error code has been sent, just exit 
    File "/usr/lib/python2.7/BaseHTTPServer.py", line 281, in parse_request 
    "Bad HTTP/0.9 request type (%r)" % command) 
    File "/usr/lib/python2.7/BaseHTTPServer.py", line 368, in send_error 
    self.send_response(code, message) 
    File "/usr/lib/python2.7/BaseHTTPServer.py", line 385, in send_response 
    self.log_request(code) 
    File "/usr/lib/python2.7/BaseHTTPServer.py", line 422, in log_request 
    self.requestline, str(code), str(size)) 
    File "/home/vagrant/hypnos-venv/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 162, in log_message 
    msg = "[%s] %s\n" % (self.log_date_time_string(), format % args) 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa6 in position 15: ordinal not in range(128) 
+0

httpウェブサイトをヒットしようとしたように見えますか? –

+0

ちょうどlocalhost:8888 – jzkelter

+0

もし私が127.0.0.1:8888をしたら、それはうまくいきます。しかし、なぜか分からない。 – jzkelter

答えて

2

スタックトレースから、Django開発サーバーは要求をログに記録しようとしますが、要求が無効であるために失敗します。

BaseHTTPServerは生のHTTPリクエストの最初の行を記録するだけなので、ブラウザがリクエストでごみを送信した場合(その理由を知っている)、開発サーバーはログに記録しようとして失敗する可能性があります。私は開発コンソールやFirebugを使って、ブラウザから送られたリクエストヘッダを確認することをお勧めします。この場合、状況全体がテスト環境の問題になります。

4

httpsでこれを試していましたか?

私は同じ問題を抱えていましたが、最終的には開発中にhttp(no s)であるはずです。 httpsはあなたの要求を暗号化します。これは、開発サーバーに関する限り、あまりにもぎこちないことです。

27

あなたはhttpsあなたがエラーをトリガするには、ブラウザで入力したのは何

+1

これは非常に共通している間違いで、間違いではないエラーメッセージであると確信しています。 3時間から4時間のエンコーディングで困惑した後、私を自分から救った。 –

+0

うわー、この予期せぬ答えですが、100%正しいです。ありがとう! – gabn88