i'm using python -m SimpleHTTPServer
for a small project. The file index.html references some videos.
<video><source src="big_buck_bunny_480p_stereo.ogg"></video>
This File has a size of 159 MB. When I try to download it, SimpleHTTPServer throws some error messages instead of my video.
Marc-Laptop - - [23/Sep/2012 18:18:29] "GET /big_buck_bunny_480p_stereo.ogg HTTP
/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('192.168.4.38', 51152)
Traceback (most recent call last):
File "C:Program Files (x86)PythonlibSocketServer.py", line 284, in _handle
_request_noblock
self.process_request(request, client_address)
File "C:Program Files (x86)PythonlibSocketServer.py", line 310, in process
_request
self.finish_request(request, client_address)
File "C:Program Files (x86)PythonlibSocketServer.py", line 323, in finish_
request
self.RequestHandlerClass(request, client_address, self)
File "C:Program Files (x86)PythonlibSocketServer.py", line 640, in __init_
_
self.finish()
File "C:Program Files (x86)PythonlibSocketServer.py", line 693, in finish
self.wfile.flush()
File "C:Program Files (x86)Pythonlibsocket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10054] Eine vorhandene Verbindung wurde vom Remotehost geschlossen
----------------------------------------
simpleHTTPServer is trying to buffer everything and indeed will explode for the lack of memory. It is better to do it asynchronously but simpleHTTPServer doesn't know how to do that. Check that thread. Someone proposed a modified version of simpleHTTPserver: SimpleAsyncHTTPServer.py