Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3 http套接字不工作_Python_Sockets - Fatal编程技术网

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使用反斜杠
\
字符在字符串中转义。有关更多详细信息,请参阅。

这很有效!!谢谢你!!