我正在尝试使用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();
Run Code Online (Sandbox Code Playgroud)
根据设置代理的操作团队,我的用户名和密码是正确的.问题是我不断获得407 - 授权所需的状态.
我提出请求的方式有问题吗?或者是否需要配置Squid代理?
提前致谢.
您应该auth在以下headers部分中包括options:
var options = {
host: host,
port: 3128,
path: "http://www.google.com",
headers: {
'Proxy-Authorization': auth,
Host: 'www.google.com'
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3473 次 |
| 最近记录: |