需要在Node.js中指定HTTP请求元素的顺序

时间:2018-05-17 04:43:30

标签: node.js http https npm-request

我正在尝试在我们的节点(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\"}**"  

有人对如何解决这个问题有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我会将我的评论转化为答案,因为它显然解决了您原来的问题:

在我看来,你似乎误解了他们想要的东西。您正在尝试将数据放入POST正文中,但显然他们希望JSON数据位于名为REQUEST_JSON_API的自定义标头中,而POST主体中没有任何内容。这与您尝试发送它的方式不同。

您可以使用任何普通的HTTP库(例如request()库)来做到这一点。您只需构造适当的自定义HTTP标头并在POST请求中指定它。

您可以查看如何使用request()here设置自定义标头。