我正在尝试通过nodeJs中的代理连接,但我没有任何结果或错误。
我正在使用mikeal/request
。
我在命令行中测试了代理,它运行正常:
$ http_proxy=localhost:9060 wget http://wtfismyip.com/json
$ cat json
返回
{
"YourFuckingIPAddress" : "62.236.108.73",
"YourFuckingLocation" : "Finland",
"YourFuckingHostname" : "effi.org",
"YourFuckingISP" : "TDC Oy Finland"
}
正如所料。但是我在nodeJs中的请求:
router.route('/proxy-ip')
.get(function (req, res) {
var request_options = {
url: 'http://wtfismyip.com/json',
proxy: {
host: "http://localhost",
port: 9060
}
};
console.log({request:request_options});
request.get(request_options,
function (error, response, json) {
if (!error && response.statusCode == 200) {
res.send(json);
} else {
console.log({'request': request, 'response': response, 'error': error, 'json': json});
res.send({'response': response, 'error': error, 'json': json});
}
}
);
});
记录无效协议错误:
error: [Error: Invalid protocol: http]
有谁知道如何修复它?有没有人在mikeal / request& amp;的NodeJS?
答案 0 :(得分:2)
修正了它!
我用字符串&替换了代理对象它有效:
proxy: 'http://localhost:9060',