需要在 Node.js 中指定 HTTP 请求元素的顺序
Need to specify order of HTTP request elements in Node.js
我正在尝试在我们的节点 (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\"}**"
有人对如何解决这个问题有什么建议吗?
我会把我的评论变成一个答案,因为它显然解决了你原来的问题:
在我看来,您似乎误解了他们的需求。您正试图将数据放入 POST body,但显然他们希望将 JSON 数据放入名为 REQUEST_JSON_API
的自定义 header 中,而 JSON 中没有任何内容 POST body。这与您尝试发送的内容不同。
您可以使用任何普通的 HTTP 库(例如 request()
库)来做到这一点。您只需构建正确的自定义 HTTP header 并在 POST 请求中指定。
您可以了解如何使用 request()
库 here 设置自定义 header。
我正在尝试在我们的节点 (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\"}**"
有人对如何解决这个问题有什么建议吗?
我会把我的评论变成一个答案,因为它显然解决了你原来的问题:
在我看来,您似乎误解了他们的需求。您正试图将数据放入 POST body,但显然他们希望将 JSON 数据放入名为 REQUEST_JSON_API
的自定义 header 中,而 JSON 中没有任何内容 POST body。这与您尝试发送的内容不同。
您可以使用任何普通的 HTTP 库(例如 request()
库)来做到这一点。您只需构建正确的自定义 HTTP header 并在 POST 请求中指定。
您可以了解如何使用 request()
库 here 设置自定义 header。