【发布时间】:2018-04-06 00:47:51
【问题描述】:
希望我能说得清楚一些。我必须在 python 中创建一个服务器和客户端,相互发送 HTTP GET 请求。现在我创建了一个基本的服务器/客户端程序,现在我的目标是向服务器发送 HTTP GET 请求(来自我保存的 html 文件)和服务器以显示内容。 示例服务器将显示类似 日期: 内容长度: 内容类型: 截至目前,当我运行客户端并键入 GET / filename.html HTTP/1.1\n\r 时,服务器不显示。当我在 Linux shell 中键入该确切命令时,它会完美显示。我怎样才能在客户端和服务器中做到这一点。希望这是有道理的。这是我的客户端和服务器。
#CLIENT
import socket
import sys
host = socket.gethostname()
port = 12345 # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
print(s.recv(1024))
inpt = input("type")
b = bytes(inpt, 'utf-8') #THIS SENDS BUT SERVER DOESDNT RECIEVE
s.sendall(b)
print("Message Sent")
#SERVERimport socket
import sys
host = '' # Symbolic name meaning all available interfaces
port = 12345 # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(5)
while True:
c, addr = s.accept()
print("Connection accepted from " + repr(addr[1]))
c.send(b"Server Approved")
print(repr(addr[1]) + ":" + c.recv(1024).decode("UTF-8"))
c.close()
我想在我的服务器上输入类似的内容并显示其内容
GET / google.com HTTP/1.1\r\n
【问题讨论】:
标签: python http server get client