2013-09-22 105 views
10

Đã làm một cài đặt mới của hộp lang thang của tôi và môi trường dev của tôi và khi cố gắng chạy dự án django của tôi, tôi nhận được lỗi sau. Bất kỳ ý tưởng gì đang xảy ra?UnicodeDecodeError lạ trên django

---------------------------------------- 
[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

bạn đã gõ gì trong trình duyệt của bạn để kích hoạt lỗi? –

+0

Chỉ cần localhost: 8888 – jzkelter

+0

Rõ ràng nếu tôi làm 127.0.0.1:8888 nó hoạt động tốt. Không chắc chắn tại sao mặc dù. – jzkelter

Trả lời

2

Từ theo dõi ngăn xếp, máy chủ phát triển Django cố gắng đăng nhập yêu cầu và không thành công vì yêu cầu không hợp lệ.

Chỉ ra rằng BaseHTTPServer chỉ cần ghi dòng yêu cầu HTTP thô đầu tiên, vì vậy nếu trình duyệt của bạn gửi thùng rác theo yêu cầu (người biết tại sao) thì máy chủ phát triển có thể không cố gắng ghi nhật ký. Tôi sẽ đề nghị sử dụng một bảng điều khiển phát triển hoặc Firebug để kiểm tra các tiêu đề yêu cầu được gửi bởi trình duyệt. Nếu đây là trường hợp, thì toàn bộ tình huống là vấn đề môi trường thử nghiệm nhiều hơn.

4

Bạn có đang thử điều này bằng https không?

Tôi đã có cùng một vấn đề và cuối cùng đã tìm ra nó phải được với http (không có) trong khi phát triển. https mã hóa yêu cầu của bạn, mà là một loạt các sai ngữ pháp như xa như các máy chủ phát triển có liên quan.

27

Hình như bạn cố gắng để đạt http trang web với https

+1

Tôi chắc chắn đây là một lỗi rất phổ biến với một thông báo lỗi rất không rõ ràng. Lưu tôi từ bản thân mình sau 3-4 giờ khó hiểu về mã hóa. –

+0

Wow, vì vậy bất ngờ câu trả lời này, nhưng đối với tôi 100% chính xác. Cảm ơn người đàn ông! – gabn88