Проблемы, создавая клиент Nodejs для Yahoo Plactmaker API

StackOverflow https://stackoverflow.com/questions/5305257

  •  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'
    }
};
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top