node.js请求模块为http调用提供错误[错误:无效协议:null]

时间:2016-01-23 14:56:40

标签: node.js proxy request

我正在使用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的代理。删除它们也无法解决问题。

由于

4 个答案:

答案 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寻求解决方案