我可以在node.js中使用https.get传递查询吗?
我试图在http.get中传递一个查询。 这项工作:我可以在node.js中使用https.get传递查询吗?,node.js,Node.js,我试图在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
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'
},
执行请求时,节点核心中没有内置的HTTP
或HTTPS
库。查询字符串实际上是一个单独的模块,名为。在这个库中有一个函数,它将获取一个对象并从中创建一个查询字符串,基本上是按照您希望的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}`);
});
执行请求时,节点核心中没有内置的HTTP
或HTTPS
库。查询字符串实际上是一个单独的模块,名为。在这个库中有一个函数,它将获取一个对象并从中创建一个查询字符串,基本上是按照您希望的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}`);
});