I\'ve set up a little script that should feed a client with html.
import socket
sock = socket.socket()
sock.bind((\'\', 8080))
sock.listen(5)
client, adress = s
webob does the dirty http details for you as well
from webob import Response
....
client.send(str(Response("<html><body></body></html>")))
The response header should include a response code indicating success. Before the Content-Type line, add:
client.send('HTTP/1.0 200 OK\r\n')
Also, to make the test more visible, put some content in the page:
client.send('<html><body><h1>Hello World</body></html>')
After the response is sent, close the connection with:
client.close()
and
sock.close()
As the other posters have noted, terminate each line with \r\n
instead of \n
.
Will those additions, I was able to run successful test. In the browser, I entered localhost:8080
.
Here's all the code:
import socket
sock = socket.socket()
sock.bind(('', 8080))
sock.listen(5)
client, adress = sock.accept()
print "Incoming:", adress
print client.recv(1024)
print
client.send('HTTP/1.0 200 OK\r\n')
client.send("Content-Type: text/html\r\n\r\n")
client.send('<html><body><h1>Hello World</body></html>')
client.close()
print "Answering ..."
print "Finished."
sock.close()