我试图在http.get中传递查询。 这有效:
https = require("https");
https.get('https://graph.facebook.com/v2.6/1109550759112324/accounts/test-users?access_token=token',
这导致404:
https = require("https");
https.get({
host: 'graph.facebook.com',
path: '/v2.6/1109550759112324/accounts/test-users',
query: {
access_token: 'token'
},
答案 0 :(得分:0)
执行请求时,Node Core中的HTTP
或HTTPS
库中没有query
option。查询字符串实际上是一个名为querystring
的独立模块。在该库中,有一个函数stringify()
,它将从中获取一个对象并创建一个查询字符串,基本上是您希望https.get()
在您的问题中为您做的方式。
您可以将querystring.stringify()
与https.get()
一样使用
const https = require('https');
const qs = require('querystring');
let query = qs.stringify({ access_token: 'token' });
https.get({
host: 'graph.facebook.com',
path: `/v2.6/1109550759112324/accounts/test-users?${query}`,
}, (res) => {
console.log(`StatusCode: ${res.statusCode}`);
let data = '';
res.on('data', (chunk) => { data += chunk; });
res.on('end', () => {
// Parsing JSON response
data = JSON.parse(data);
console.log(`Body: ${JSON.stringify(data, null, 2)}`);
});
}).on('error', (err) => {
console.log(`Error: ${err}`);
});