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

Send HTTP request from different IPs in Node.js

本文关键字:IP 请求 HTTP js Node      更新时间:2023-12-12

有没有一种方法可以用与Node.js中不同的IP发送HTTP请求?

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

我知道Tor Project会做这种操作,但我没有找到Tor用来做这些事情的任何库。

Tor有没有使用API或Node.js模块来处理Node.js中的这种私人浏览?

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

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,这两个模块可以提供帮助:socks5http客户端和socks5https客户端

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);
  });
});

另一种选择是使用免费的网络代理,例如隐藏我的屁股网络代理。它们还提供了一个可以使用的ip:port代理列表。http、https甚至SOCKS4/5。使用以上模块,或者简单地将您的web浏览器配置为使用其中一个模块。

您甚至可以设置自己的私有http代理节点应用程序并部署在Heroku上。我在谷歌上发现了很多容易理解的例子。