我在python中编写了一个Web服务器,我想发送 HTTP响应消息代码:400 而不是响应"网站即将推出!"在任何客户要求,请告诉我该怎么做。
服务器代码为:
import socket
import re
HOST = "localhost"
PORT = 13555
listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
listen_socket.bind((HOST, PORT))
listen_socket.listen(1)
print ("Serving HTTP on port %s ..." % PORT)
while True:
client_connection, client_address = listen_socket.accept()
request = client_connection.recv(2048)
response = "Website Coming Soon!" #this response should be http response message code:400
http_response = "HTTP/1.1 200 OK\n"+"Content-Type: text/html\n"+"\n"+"<html><body>"+response+"</body></html>\n"
client_connection.sendall(http_response)
client_connection.close()
答案 0 :(得分:1)
尝试了解您想要说的协议:)
HTTP非常简单,所有HTTP消息都包含3个基本部分,其中第3部分是可选的:
您要做的是更改回复消息中的“状态行”。由于您要发送400状态代码,因此响应中的第一行应为
HTTP/1.1 400 Bad request
但这里有两件事是错的:
503 Service unavailable
潜入specs。他们真的,真的直截了当。如果你仔细阅读,并按照预期的方式开始讲HTTP,世界会变得更好一些;)