【问题标题】:Node.js - HTTP get through Squid proxy authorization issueNode.js - HTTP 通过 Squid 代理授权问题
【发布时间】:2011-11-02 00:12:40
【问题描述】:

我正在尝试使用 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代理?

提前致谢。

【问题讨论】:

标签: node.js squid


【解决方案1】:

您应该在optionsheaders 部分中包含auth

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

【讨论】:

  • 伙计,我不敢相信我错过了。谢谢。不过,Squid 并没有在寻找 Authorization 标头。它寻找'Proxy-Authorization'
  • 伙计们,你们拯救了我的一天!同意@Anthony,它对“代理授权”有用。谢谢!
猜你喜欢
  • 1970-01-01
  • 2020-08-15
  • 2014-04-24
  • 2012-04-18
  • 2018-07-25
  • 1970-01-01
  • 2016-08-23
  • 1970-01-01
  • 2019-09-16
相关资源
最近更新 更多