Python HTTP 1.1从头开始请求



在我的计算机网络课程中,我们需要编写一个实现HTTP1.1 HEAD、GET、POST和PUT命令的客户端代码。然而,我在整理一个有效的请求时遇到了麻烦。

def HTTP_Request(command_type, uri, port):
HTTP_command = f"{command_type} /HTTP/1.1 rnHost:{uri}rnrn"
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((socket.gethostbyname(uri), port))
HTTP_command = HTTP_command.encode(FORMAT)
client.send(HTTP_command)
response = client.recv(4096)
print(response)

我用以下参数调用函数:HTTP_Request("GET","www.google.com",80(,但我一直得到404坏请求状态代码?

HTTP_command = f"{command_type} /HTTP/1.1 rnHost:{uri}rnrn"

这会导致

GET /HTTP/1.1 rnHost:www.google.comrnrn

但应该略有不同——注意标记位置的空间量不同:

GET / HTTP/1.1rnHost:www.google.comrnrn
^^^      ^^^

最新更新