Python 3.4 输入?

标签 python sockets python-3.x

我正在尝试使用 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/

相关文章:

python - 具有完整行对象的 Mongo Distinct Query

python - BeautifulSoup:查找按名称匹配一个标签或按属性匹配另一标签的任何标签

c# - Azure 网站 : how to establish a socket connection on loopback interface?

python - 将分隔符从分号转换为 CSV 中的逗号?

python-3.x - 确定 url 是 pdf 还是 html 文件

python - 使用 python 脚本根据 XML 中其他元素的文本或属性获取元素的文本

python - 连接列表中的多个范围

python - 在Python中使用按钮选择文件后读取.csv

Node.js 写入后刷新套接字

sockets - FastCGI with protocol = IIS 7 上的 Tcp