我正在使用node.js的请求模块对api进行HTTP GET调用,地址如:http://x.x.xxx.xx:8000/names
,但调用返回错误[Error: Invalid protocol: null]
。
我的api电话看起来像这样:
request.get({
uri: 'http://x.x.xxx.xx:8000/names'
}, function(err, res, body){
if(err == null){
res.status(200).send(data);
}else{
console.log(err);
}});
注意:我通过“npm config set proxy”和“npm config set https proxy”使用了npm的代理。删除它们也无法解决问题。
由于
答案 0 :(得分:2)
由于这个,完全正常,我会说问题出在您的代理配置中。
request.get({
uri: 'http://localhost:8000/names'
}, function(err, res, body){
});
试试这个:
npm config set proxy http://usr:pwd@host:port
答案 1 :(得分:0)
使用request.get,如果要传递选项,则必须首先将url指定为字符串,然后是带有选项的字典。该错误可能是由于您在字典中传递的混淆。尝试将request()
与字典参数或request.get('http://xx.xx.xx.xx:8080/')
参考文档:https://www.npmjs.com/package/request#convenience-methods
答案 2 :(得分:0)
我的HTTP_PROXY
环境变量设置有误
答案 3 :(得分:0)
如果您要连接到PHP开发服务器,请see this thread寻求解决方案