Node.js Nodejs请求对象未将GET路径发送到代理服务器

Node.js Nodejs请求对象未将GET路径发送到代理服务器,node.js,proxy,http-headers,Node.js,Proxy,Http Headers,我一直在尝试通过公共代理服务器向web服务器发送GET请求。但不确定如何将GET path传递给代理 我尝试在选项和主机头中传递path参数。反正也不行。这是我到目前为止试过的 var proxy = { ip: '121.12.1.1', port: 3128 }; var options = { uri: 'http://' + proxy.ip + ':' + proxy.port, method: 'GET', path: '/json', hea

我一直在尝试通过公共代理服务器向web服务器发送GET请求。但不确定如何将GET path传递给代理

我尝试在选项和主机头中传递path参数。反正也不行。这是我到目前为止试过的

var proxy = { ip: '121.12.1.1', port: 3128 };    
var options = {
    uri: 'http://' + proxy.ip + ':' + proxy.port,
    method: 'GET',
    path: '/json',
    headers: {
        'Host': 'http://wtfismyip.com/json'
    }
};

request(options, function (error, response, body) {

    if (!error && response && (response.statusCode == 200 || response.statusCode == 302 ) ) {
        console.log("success proxy response: ", response && response.statusCode, body);
    }
    else {
        console.log("error in proxy response: ", err, response && response.statusCode);
    }
})
但这是唯一的召唤。那么,如何通过代理服务器调用呢?

请看以下内容

你只需要改变你的选择就可以了

var options = {
   proxy: 'http://' + proxy.ip + ':' + proxy.port,
   method: 'GET',
   url: 'http://wtfismyip.com/json',
};

具体来说,它使用此方法抛出
{[Error:read ECONNRESET]代码:“ECONNRESET”,errno:“ECONNRESET”,syscall:“read”}
。您使用的代理可能有问题。我试了几次。的确,有些人能行,有些人不行。