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

1
  • Show us your proxy config please. Commented Jan 23, 2016 at 15:07

4 Answers 4

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
Sign up to request clarification or add additional context in comments.

Comments

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

1 Comment

It is not that, that request is well formed.
0

I had my HTTP_PROXY environment variable incorrectly set

Comments

0

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.