Node.js – HTTP通过Squid代理授权问题
我正在尝试使用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 – 授权要求的状态回来。
我提出请求的方式有什么问题吗? 还是需要configurationSquid代理?
提前致谢。
您应该在options
的headers
部分包含auth
:
var options = { host: host, port: 3128, path: "http://www.google.com", headers: { 'Proxy-Authorization': auth, Host: 'www.google.com' } };