【发布时间】:2018-01-26 00:45:35
【问题描述】:
我创建了一些 curl 命令来向我的服务器发送一个 POST,我在该服务器上侦听该端口以获取输入以触发其他操作。命令如下(只是屏蔽了 URL):
curl -v -H "Content-Type: application/json" -X POST -d "{\"Location\":\"Some Name\",\"Value\":\"40%\"}" http://example.com:8885/
我从 curl 得到以下输出:
关于 connect() 到 example.com 端口 8885 (#0)
正在尝试 5.147.XXX.XXX...
连接到 example.com (5.147.XXX.XXX) 端口 8885 (#0)
POST / HTTP/1.1
用户代理:curl/7.29.0
主机:example.com:8885
接受:/
内容类型:application/json
内容长度:40
上传完全发送:40 个字节中的 40 个
但是在那之后 curl 不会关闭连接。难道我做错了什么?同样在服务器上,我只有在按下 ctrl+c 时才会收到 POST。
【问题讨论】:
-
如果其他人遇到同样的问题,请在下面找到最终对我有用的命令(未能通过 NodeRed 发送正确的 HTTP 响应):
@ 987654322@echo -ne "POST http://example.com:PORT/ HTTP/1.0\r\nHost: example.com:PORT\r\nContent-Type: application/json\r\nContent-Length: ${#BODY}\r\nAuthorization: Token {API KEY}\r\n\r\n${BODY}" | nc -i 3 example.com PORT