我正在尝试在我们的节点(express.js
)服务器和供应商服务器之间建立持久连接。我们目前正在使用“request"
库,但我们可以轻松转移到其他内容。https://www.npmjs.com/package/request
供应商告诉我们,Post请求(对他们的API)的主体需要在Content-Type, charset,
等之前出现。所以这样:
"POST / HTTP/1.1\r\nREQUEST_JSON_API: **{\"REQUEST_TYPE\":\"STATUS\"}** \r\nContent-Type: application/json\r\ncharset: utf-8\r\nUser-Agent.."
而不是目前的情况:
"POST / HTTP/1.1\r\nhost: xxx.x.xxx.1:3000\r\naccept: application/json\r\ncontent-type: application/json\r\ncontent-length: 25\r\nConnection: keep-alive\r\n\r\n **{\"REQUEST_TYPE\":\"STATUS\"}**"
有人对如何解决这个问题有什么建议吗?
答案 0 :(得分:0)
我会将我的评论转化为答案,因为它显然解决了您原来的问题:
在我看来,你似乎误解了他们想要的东西。您正在尝试将数据放入POST正文中,但显然他们希望JSON数据位于名为REQUEST_JSON_API
的自定义标头中,而POST主体中没有任何内容。这与您尝试发送它的方式不同。
您可以使用任何普通的HTTP库(例如request()
库)来做到这一点。您只需构造适当的自定义HTTP标头并在POST请求中指定它。
您可以查看如何使用request()
库here设置自定义标头。