2

I am using request module for node.js to make HTTP GET call to an api having address like: http://x.x.xxx.xx:8000/names but the call is returning an error [Error: Invalid protocol: null].

My api call looks like this:

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);
    }});

Note: I have used proxies for npm through "npm config set proxy" and "npm config set https proxy" . Removing them is also not solving the problem.

Thanks

vedant sali
  • 80
  • 2
  • 5
  • 17

4 Answers4

4

Since this, works perfectly fine, I'll say that the problem is in your proxy config.

request.get({
    uri: 'http://localhost:8000/names'
}, function(err, res, body){

});

Try this:

npm config set proxy http://usr:pwd@host:port
Marcos Casagrande
  • 37,983
  • 8
  • 84
  • 98
1

Using the request.get, you must first specify the url as a string, followed by a dictionary with options, if you want to pass an option. The error is likely due to confusion that you're passing in a dictionary. Either try using request() with a dictionary parameter or request.get('http://xx.xx.xx.xx:8080/')

Docs for reference: https://www.npmjs.com/package/request#convenience-methods

Hamel Kothari
  • 717
  • 4
  • 11
0

I had my HTTP_PROXY environment variable incorrectly set

user2258468
  • 41
  • 1
  • 3
0

If you are connecting to a PHP development server please see this thread for solution