Python3 http套接字不工作
我的代码:Python3 http套接字不工作,python,sockets,Python,Sockets,我的代码: import socket host = '' port = 8090 backlog = 5 size = 1024 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((host,port)) s.listen(backlog) while 1: client, address = s.accept() #data = client.recv(size) data= "ok"
import socket
host = ''
port = 8090
backlog = 5
size = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host,port))
s.listen(backlog)
while 1:
client, address = s.accept()
#data = client.recv(size)
data= "ok"
if data:
client.send(bytes('HTTP/1.0 200 OK<CRLF>', 'UTF-8'))
client.send(bytes("Content-Type: text/html<CRLF><CRLF>", 'UTF-8'))
client.send(bytes('<html><body><h1>Hello World</body></html>', 'UTF-8'))
client.close()
导入套接字
主机=“”
端口=8090
积压=5
大小=1024
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s、 绑定((主机、端口))
s、 倾听(待办事项)
而1:
客户端,地址=s.accept()
#数据=client.recv(大小)
data=“确定”
如果数据:
发送(字节('HTTP/1.0 200 OK','UTF-8'))
发送(字节(“内容类型:text/html”,“UTF-8”))
发送(字节('Hello World','UTF-8'))
client.close()
出于某种原因,每当我访问:
http:localhost:8090谷歌浏览器返回:
“位于http:localhost:8090的网页可能暂时关闭,或者可能已永久移动到新网址。”
我查阅了大量的例子,我不知道为什么这不起作用
我正在windows 7上运行python 3.3,谢谢。您的
字符应该是python中的\r\n
。如果您随后将.recv
放回,它将工作:
import socket
host = ''
port = 8090
backlog = 5
size = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host,port))
s.listen(backlog)
while 1:
client, address = s.accept()
data = client.recv(size)
if data:
client.send(bytes('HTTP/1.0 200 OK\r\n', 'UTF-8'))
client.send(bytes("Content-Type: text/html\r\n\r\n", 'UTF-8'))
client.send(bytes('<html><body><h1>Hello World</body></html>', 'UTF-8'))
client.close()
导入套接字
主机=“”
端口=8090
积压=5
大小=1024
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s、 绑定((主机、端口))
s、 倾听(待办事项)
而1:
客户端,地址=s.accept()
数据=client.recv(大小)
如果数据:
发送(字节('HTTP/1.0 200 OK\r\n','UTF-8'))
发送(字节(“内容类型:text/html\r\n\r\n”,“UTF-8”))
发送(字节('Hello World','UTF-8'))
client.close()
Python使用反斜杠
\
字符在字符串中转义。有关更多详细信息,请参阅。这很有效!!谢谢你!!