在Node.js中发送来自不同IP的HTTP请求

有没有办法发送一个HTTP请求与我在Node.js中有不同的IP?

我想从我之前select的IP发送请求,而不是从服务器的IP或从我的计算机的IP发送请求。

我知道Tor Project做这种操作,但是我没有findTor用来做这个东西的任何库。

有什么API或Node.js模块Tor用来处理Node.js这种私人浏览?

在节点http模块中,有一个localAddress选项用于绑定到特定的networking接口。

var http = require('http'); var options = { hostname: 'www.example.com', localAddress: '202.1.1.1' }; var req = http.request(options, function(res) { res.on('data', function (chunk) { console.log(chunk.toString()); }); }); 

在Github上查看Mikeal的请求 。

Tor使用SOCKS5,这两个模块可以帮助: socks5-http-client和socks5-https-client

 require('socks5-http-client').request(options, function(res) { console.log('STATUS: ' + res.statusCode); console.log('HEADERS: ' + JSON.stringify(res.headers)); res.setEncoding('utf8'); res.on('data', function (chunk) { console.log('BODY: ' + chunk); }); }); 

另一个select是使用免费的网页代理,例如隐藏我的网页代理 。 他们还提供了一个您可以使用的ip:port代理列表。 http,https甚至SOCKS4 / 5。 要么使用上述模块,要么简单地configuration您的Web浏览器使用其中的一个。

你甚至可以设置你自己的私人HTTP代理节点应用程序,并部署在Heroku上。 我在Google上发现了很多简单的例子。