Проблемы, создавая клиент Nodejs для Yahoo Plactmaker API
-
24-10-2019 - |
Вопрос
Мне нужно сделать клиентское приложение Nodejs, которое может отправить запрос на почту в Yahoo Plactmaker API. До сих пор я провел 1 день без успеха. Я вижу пакеты HTTP в Wireshark, и это тоже не жалуется.
Я использую следующий код:
var http = require('http');
var options = {
host: 'wherein.yahooapis.com',
port: 80,
path: '/v1/document',
method: 'POST'
};
var req = http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
// res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
});
// write data to request body
//req.end('documentURL=http://www.usfca.edu&documentType=text/html&outputType=xml&appid=MrIhH33V34GNOpw91rqJuijGeiLQ7l4hhlJXXt3fOTS0.jAUY8kqhu6SxMhy7J90OSWElw--');
req.write('documentURL%3Dhttp%3A//www.usfca.edu%26documentType%3Dtext/html%26outputType%3Dxml%26appid%3DMrIhH33V34GNOpw91rqJuijGeiLQ7l4hhlJXXt3fOTS0.jAUY8kqhu6SxMhy7J90OSWElw--');
req.end();
Я делаю то же самое в PHP, и это работает там. Любые предложения оценены. Подобные проблемы возникли, когда я попытался запустить свой собственный сервер на ExpressJS. Каким -то образом приведенный выше код не дает правильный HTTP -запрос. Но вышеупомянутый фрагмент находится непосредственно из документации Nodejss
Пожалуйста помоги!!
Я получаю 400 код ответа HTTP, в котором говорится, что DocumentUrl Nore DocumentContent не найден!
- Лалит
Решение
Рассмотрим использование Библиотека запросов Mikeal Чтобы упростить свою жизнь и избежать любых странных проблем:
npm install request
Также остановись в #node.js и задавайте вопросы для более быстрых ответов. Обязательно сообщите о ваших выводах.
Другие советы
Node.js http-запрос не генерирует соответствующий тип контента заголовка, поэтому просто добавьте его вручную. Вам не нужно экспресс до сих пор ...
var options = {
host: 'wherein.yahooapis.com',
port: 80,
method: 'POST',
path: '/v1/document',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
};