Я пытаюсь вызвать внешний rest API
с сервера узла с помощью модуля узла request
.вызов внешнего остатка api из узла без параметров запроса querystring
let request = require('request');
var options = {
method: 'POST',
url: 'https://somerestURI:3000',
qs: { msg: 'some|data|for|other|server' }
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
Если я пытаюсь запустить приведенный выше код, значение строки запроса кодируются в
some%7cdata%7cfor%7cother%7cserver
в результате я не получаю правильный ответ.
Но если я прогоню тот же запрос в POSTMAN. Я получаю ожидаемый результат (я думаю, почтальон не кодирует строку запроса).
Так что я хочу не кодировать значение строки запроса.
Любая помощь была бы принята с благодарностью.
Спасибо за помощь ... Добавлено редактирование вы предложили, но не работает .... когда я копаться в исходный запрос кода этого является линия, которая кодирование значения строки запроса 'var qs = self._qs.stringify (base)', где он не проверяет qsStringifyOptions. – Vallabha
Он работал в моем случае. –
после добавления 'encoding: false'' url.parse' в 'request' модуль кодирует строку запроса – Vallabha