4

Im trying to access a resource from the web throught a proxy. Unlike this response, I need to set a domain\user and password authentication.

Well, this is my code:

var http = require('http');

var options = {
  host: "proxy.domain.com",
  port: 80,
  path: "http://www.google.com",
  headers: {
    Host: "www.google.com"
  },
  method: 'GET',
  auth: 'domain\\user:password'
};

http.request(options, function (data) {
    console.log('success!', data);
}).on("error", function (e) {
    console.log('error :(', e);
});

The code above is thowing inmediatly the following error:

error :( { [Error: getaddrinfo ENOTFOUND] code: 'ENOTFOUND', errno: 'ENOTFOUND', syscall: 'getaddrinfo' }

So, no request being sent, I guess.

What is wrong? How can I send a request with the parameters I trying to set?

Thanks in advance

2 Answers 2

4

this code worked for me (encoding in base64 and setting Proxy-Authorization in headers):

var username = 'yourUsername';
var password = 'yourPass';
var auth = 'Basic ' + new Buffer(username + ':' + password).toString('base64');

var options = {
  host: "proxy",
  port: 8080,
  path: "https://www.google.com",
  headers: {
        Host: "www.google.com",
        "Proxy-Authorization" : auth
     }
};
Sign up to request clarification or add additional context in comments.

Comments

0

Here is an updated version

var.auth = "username" : "password";

http.get({
            host   : var.hostname,
            port   : var.port,
            path   : requestUrl.href,
            headers: {
                Host                 : requestUrl.host,
                'Proxy-Authorization': `Basic ${new Buffer(var.auth).toString('base64')}`,
            }
        }, response => {
//do what you want with response
})

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.