Необходимо указать порядок элементов HTTP-запроса в Node.js - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь установить постоянное соединение между сервером нашего узла (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 голосов
/ 17 мая 2018

Я превращу свои комментарии в ответ, так как это, по-видимому, решило вашу первоначальную проблему:

Мне кажется, ты неправильно понимаешь, чего они хотят. Вы пытаетесь поместить данные в тело POST, но, по-видимому, им нужны данные JSON в пользовательском заголовке с именем REQUEST_JSON_API, но в теле POST ничего нет. Это отличается от того, что вы пытались отправить.

Вы можете сделать это прекрасно с любой обычной библиотекой HTTP, такой как библиотека request(). Вам просто нужно создать правильный настраиваемый заголовок HTTP и указать его в запросе POST.

Вы можете посмотреть, как установить пользовательские заголовки с библиотекой request() здесь .

...