Yahoo PlaceMaker APIのNodeJSクライアントの作成に問題
-
24-10-2019 - |
質問
Yahoo PlaceMaker APIにPOSTリクエストを送信できるNodeJSクライアントアプリケーションを作成する必要があります。私はこれに1日を費やしましたが、これまでのところ成功しませんでした。 WiresharkにHTTPパケットが表示されますが、文句もありません。
次のコードを使用しています。
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要求を生成しません。しかし、上記のスニペットはnodejsドキュメントから直接取られます
助けてください!!
Documenturl nore documentcontentが見つからないという400 HTTP応答コードが表示されます!
- ラリス
解決
使用を検討してください 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'
}
};
所属していません StackOverflow