4

http.getを使用して簡単なリクエストを行おうとしています。しかし、私はSquidプロキシを介してこのリクエストを行う必要があります。これが私のコードです:

var http = require('http');
var username = 'username';
var password = 'password';
var host = "proxy_host";
var auth = 'Basic ' + new Buffer(username + ':' + password).toString('base64');

var options = {
  host: host,
  port: 3128,
  path: "http://www.google.com",
  authorization: auth,
  headers: {
    Host: 'www.google.com'
  }
};

var req = http.request(options, function(res) {
  console.log('STATUS: ' + res.statusCode);
  console.log('HEADERS: ' + JSON.stringify(res.headers));
});

req.end();

プロキシを設定した運用チームによると、私のユーザー名とパスワードは正しいです。問題は、407-認証が必要なステータスが戻ってくることです。

リクエストの方法に何か問題がありますか?または、Squidプロキシを構成する必要がありますか?

前もって感謝します。

4

1 に答える 1

8

auth次のheadersセクションに含める必要がありますoptions

var options = {
  host: host,
  port: 3128,
  path: "http://www.google.com",
  headers: {
    'Proxy-Authorization': auth,
    Host: 'www.google.com'
  }
};
于 2011-11-02T00:17:55.363 に答える