Python HTTP Server/Client: Remote end closed connection without response error
It looks like the server is terminating the connection early without sending a full response. Ive skimmed the docs and I think this is the problem (emphasis added):
Adds a response header to the
headers buffer and logs the accepted request. The HTTP response line
is written to the internal buffer, followed by Server and Date
headers. The values for these two headers are picked up from the
version_string() and date_time_string() methods, respectively. If the
server does not intend to send any other headers using the
send_header() method, then send_response() should be followed by an
Changed in version 3.3: Headers are stored to an internal buffer and
end_headers() needs to be called explicitly.
So you probably just need to add the call to
end_headers. If you were reading an old example (prior to Python 3.3) this wouldnt have been needed.
You can just put end_headers as Peter Gibson said
self.send_header(Content-Type, blabla ) self.end_headers()