0
https/httpモジュールを使用してGETメソッドでデータを送信するにはどうすればよいですか? POSTではすべてが機能します。Node.js http - サーバーにGETデータを送信する
まずコード(をGET):
var querystring = require('querystring'),
protocol = require('https');
var options = {
host: 'httpbin.org',
path: 'get',
method: 'GET',
headers: {},
port: 443
};
var data = querystring.stringify({
limit: 3
});
Object.assign(options.headers, {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Content-Length': Buffer.byteLength(data)
});
var req = protocol.request(options, response => {
response.setEncoding('utf8');
var end = '';
response.on('data', data => end += data);
response.on('end',() => console.log(end));
});
req.write(data);
req.end();
応答:
{
"args": {},
"headers": {
"Connection": "close",
"Content-Length": "7",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"Host": "httpbin.org"
},
"origin": "31.0.120.218",
"url": "https://httpbin.org/get"
}
セカンドコード(POST、私は唯一のオプションオブジェクトを置き換え):
var options = {
host: 'httpbin.org',
path: 'post',
method: 'POST',
headers: {},
port: 443
};
応答:
{
"args": {},
"data": "",
"files": {},
"form": {
"limit": "3"
},
"headers": {
"Connection": "close",
"Content-Length": "7",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"Host": "httpbin.org"
},
"json": null,
"origin": "31.0.120.218",
"url": "https://httpbin.org/post"
}
私は今、私は私が間違っているのかわからない、いくつかの助けのために非常に感謝するでしょう。
実際にはnode.jsの問題ではありません。 GETの場合、HTTP仕様の一部ではないため、本文にデータを投稿しません。 GETメソッドは通常、クエリーに使用されます。 URLを介してクエリパラメータを送信します。お役に立てれば。 – Quy