This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: http.server, BaseHTTPRequestHandler write string error
Type: resource usage Stage:
Components: Library (Lib) Versions: Python 3.0
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: System32, amaury.forgeotdarc
Priority: normal Keywords:

Created on 2009-06-13 11:12 by System32, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (2)
msg89321 - (view) Author: (System32) Date: 2009-06-13 11:12
CODE:
===========================================================
from http.server import HTTPServer, BaseHTTPRequestHandler

class RequestHandler(BaseHTTPRequestHandler):
	def _header(self):
		self.send_response(200)
		self.send_header("Content-type", "text/html")
		self.end_headers()
		
	def do_HEAD(self):
		self._header()
		
	def do_GET(self):
		self._header()	
		
		self.wfile.write('test')
		
server = HTTPServer(('localhost', 80), RequestHandler)
server.serve_forever()
===========================================================

ERROR:
===========================================================
localhost - - [13/Jun/2009 14:00:13] "GET / HTTP/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 1907)
Traceback (most recent call last):
  File "C:\Python30\lib\socketserver.py", line 281, in 
_handle_request_noblock
    self.process_request(request, client_address)
  File "C:\Python30\lib\socketserver.py", line 307, in process_request
    self.finish_request(request, client_address)
  File "C:\Python30\lib\socketserver.py", line 320, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Python30\lib\socketserver.py", line 614, in __init__
    self.handle()
  File "C:\Python30\lib\http\server.py", line 363, in handle
    self.handle_one_request()
  File "C:\Python30\lib\http\server.py", line 357, in handle_one_request
    method()
  File "C:\Documents and Settings\User\Desktop\mHome\webserver.py", 
line 18, in
do_GET
    self.wfile.write('human')
  File "C:\Python30\lib\socket.py", line 219, in write
    return self._sock.send(b)
TypeError: send() argument 1 must be bytes or buffer, not str
===========================================================
msg89395 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2009-06-15 07:38
the HTTP response should be a bytes string:
    self.wfile.write(b'test')
History
Date User Action Args
2022-04-11 14:56:50adminsetgithub: 50527
2009-06-15 07:38:46amaury.forgeotdarcsetstatus: open -> closed

nosy: + amaury.forgeotdarc
messages: + msg89395

resolution: not a bug
2009-06-13 11:47:44System32settype: compile error -> resource usage
2009-06-13 11:12:05System32create