我目前正在尝试使用节点发出 CURL 请求。
我在 PHP 中有以下 CURL 请求:-
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.website.com');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: token XXX',
'Content-Type: application/json'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
我需要在节点中运行相同的 CURL 请求。我尝试了许多不同的 NPM 包并选择了curljs。
我有以下代码: -
var curl = require("curljs");
var curlOpts = curl.opts.connect_timeout(10);
curl("https://www.website.com -H Authorization: token XXX -H Content-Type: application/json --get", curlOpts, function(err, data, stderr) {
console.log(err);
console.log(data);
console.log(stderr);
});
我能够从服务器获得响应而没有任何错误,但它没有返回任何数据。我得到以下回复:-
null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
有人能帮助推动正确的方向吗?
任何帮助将不胜感激。
另一个注意事项:-
我也尝试过使用请求
这是我的代码:-
var request = require('request');
var options = {
url: 'https://www.website.com',
headers: {
'Authorization': 'token XXX',
'Content-Type': 'application/json'
}
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
var info = JSON.parse(body);
console.log(info);
} else {
console.log(body);
}
}
request.get(options, callback);
但它一直返回错误。
使用node-fetch也会返回相同的错误:-
fetch("https://www.website.com", {
method: "GET",
headers: {
Authorization: "token XXX",
"Content-Type": "application/json"
}
}).then(function(response) {
return response;
}).then(function(response) {
console.log(response);
});
PHP版本完美运行,我没有正确配置标题吗?