我正在尝试使用 Python 3.4 制作 TCP 服务器和客户端的概念验证。一切有网络部分的东西都工作得很好。我尝试使其具有交互性并从客户端获取用户输入并将其发送到服务器。但是当我尝试将它用作 HTTP 客户端(在控制台中编写自定义请求并将其发送到服务器)时,它无法获得响应。问题是 input() 函数将\r\n\解释为字符串。我如何告诉 python 将它们解释为 .
示例:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(("www.google.com", 80))
user_input = input("Inser message: ") # GET / HTTP/1.1\r\n\r\n
sock.sendall(user_input.encode("utf-8"))
message = sock.recv(4096)
预先感谢您的任何建议。
最佳答案
您可以使用替换:
user_input = user_input.replace('\\r', '\r').replace('\\n', '\n')
关于Python 3.4 输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29458153/