Странный UnicodeDecodeError на django - программирование
Подтвердить что ты не робот

Странный UnicodeDecodeError на django

Выполнял новую установку моего бродячего блока и моей среды dev, а при попытке запустить проект 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)
4b9b3361

Ответ 1

Похоже, вы пытались нажать http на веб-сайт https

Ответ 2

Вы пытались сделать это с помощью https?

У меня была такая же проблема и, наконец, выяснилось, что она должна быть с http (no s) во время разработки. https шифрует ваш запрос, что представляет собой кучу тарабарщины в отношении сервера разработки.

Ответ 3

Из трассировки стека выглядит, что сервер разработки Django пытается зарегистрировать запрос и терпит неудачу, потому что запрос недействителен.

Оказывается, что BaseHTTPServer просто записывает первую строку необработанного HTTP-запроса, поэтому, если ваш браузер отправляет сообщение об ошибке (кто знает, почему), сервер разработки может не попробовать выполнить его запись. Я бы предложил использовать консоль разработки или Firebug для проверки заголовков запросов, отправленных браузером. Если это так, тогда вся ситуация больше связана с проблемой тестовой среды.