通过 TOR 使用节点的 HTTP 请求问题
Issue with HTTP request using node through TOR
我对节点和 TOR 都比较陌生。我正在尝试通过 TOR 使用节点应用程序发送请求。我使用 socks5-HTTP-client 设置了一个基本应用程序。此外,TOR 已安装(sudo port install tor)并且我 运行 服务器使用 tor
..
执行应用程序,节点给我以下错误
Error: SOCKS connection failed. General SOCKS server failure.
at Socket.<anonymous> (/Users/MyName/node_modules/socks5-client/lib/Socket.js:199:12)
at Socket.g (events.js:260:16)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at TCP.onread (net.js:523:20)
TOR 服务器向我报告以下内容:
[warn] Rejecting SOCKS request for anonymous connection to private address [scrubbed].
我找到的话题here does not seem to apply to this case. Also, this earlier article does not answer my question. Neither can I find any difference between the example socks5 模块的开发者和我的案例。
我不确定这是我的节点配置问题还是我的 TOR 配置问题。
下面是JS代码
var shttp = require('socks5-http-client');
var config =
{ url: 'http://whatismyipaddress.com/', // I'd like to see a different IP on every request, that should be the end result, correct?
socksHost: '127.0.0.1',
socksPort: 9050
}
shttp.get(config, function(res) {
res.setEncoding('utf8');
res.on('readable', function() {
console.log(res.read());
});
});
此外,在我的 torrc.sample
配置文件中,我确保设置了以下内容:
SOCKSPort 127.0.0.1:9050
此外,我的 SOCKSPolicy 设置如下:
SOCKSPolicy accept 192.168.0.0/16
SOCKSPolicy accept6 FC00::/7
SOCKSPolicy reject *
尝试时,我的内部 IP 地址是 192.168.0.11,我觉得没问题。
如有任何帮助,我们将不胜感激!
您收到该错误是因为 URL 未正确传递给请求,因此它试图向 localhost
而不是您要访问的站点发出 SOCKS 请求。
URL使用url.parse
解析。
尝试将您的代码更改为:
var shttp = require('socks5-http-client');
var url = require('url');
var config = url.parse('http://whatismyipaddress.com/');
config.socksHost = '127.0.0.1';
config.socksPort = 9050;
shttp.get(config, function(res) {
res.setEncoding('utf8');
res.on('readable', function() {
console.log(res.read());
});
});
此外,似乎 whatismyipaddress.com
可能阻止了 Tor,因为我没有收到他们的回复。试试 ipchicken.com
或其他网站。您可能需要设置 User-Agent
header 才能让以前的站点回复,但此代码更改确实有效。
我对节点和 TOR 都比较陌生。我正在尝试通过 TOR 使用节点应用程序发送请求。我使用 socks5-HTTP-client 设置了一个基本应用程序。此外,TOR 已安装(sudo port install tor)并且我 运行 服务器使用 tor
..
执行应用程序,节点给我以下错误
Error: SOCKS connection failed. General SOCKS server failure.
at Socket.<anonymous> (/Users/MyName/node_modules/socks5-client/lib/Socket.js:199:12)
at Socket.g (events.js:260:16)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at TCP.onread (net.js:523:20)
TOR 服务器向我报告以下内容:
[warn] Rejecting SOCKS request for anonymous connection to private address [scrubbed].
我找到的话题here does not seem to apply to this case. Also, this earlier article does not answer my question. Neither can I find any difference between the example socks5 模块的开发者和我的案例。
我不确定这是我的节点配置问题还是我的 TOR 配置问题。
下面是JS代码
var shttp = require('socks5-http-client');
var config =
{ url: 'http://whatismyipaddress.com/', // I'd like to see a different IP on every request, that should be the end result, correct?
socksHost: '127.0.0.1',
socksPort: 9050
}
shttp.get(config, function(res) {
res.setEncoding('utf8');
res.on('readable', function() {
console.log(res.read());
});
});
此外,在我的 torrc.sample
配置文件中,我确保设置了以下内容:
SOCKSPort 127.0.0.1:9050
此外,我的 SOCKSPolicy 设置如下:
SOCKSPolicy accept 192.168.0.0/16
SOCKSPolicy accept6 FC00::/7
SOCKSPolicy reject *
尝试时,我的内部 IP 地址是 192.168.0.11,我觉得没问题。
如有任何帮助,我们将不胜感激!
您收到该错误是因为 URL 未正确传递给请求,因此它试图向 localhost
而不是您要访问的站点发出 SOCKS 请求。
URL使用url.parse
解析。
尝试将您的代码更改为:
var shttp = require('socks5-http-client');
var url = require('url');
var config = url.parse('http://whatismyipaddress.com/');
config.socksHost = '127.0.0.1';
config.socksPort = 9050;
shttp.get(config, function(res) {
res.setEncoding('utf8');
res.on('readable', function() {
console.log(res.read());
});
});
此外,似乎 whatismyipaddress.com
可能阻止了 Tor,因为我没有收到他们的回复。试试 ipchicken.com
或其他网站。您可能需要设置 User-Agent
header 才能让以前的站点回复,但此代码更改确实有效。