我想使用 Tor 下载文件。我发现的大多数解决方案都需要安装并运行附加软件(例如 privoxy),但我不想让附加软件一直运行,即使我不使用我的程序。
所以我尝试了Tor.NET库,但我无法使用 Tor。这个例子不应该返回我的 IP 地址,但它确实:
ClientCreateParams createParams = new ClientCreateParams(@"D:\tor.exe", 9051);
Client client = Client.Create(createParams);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.icanhazip.com/");
request.Proxy = client.Proxy.WebProxy;
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
var reader = new StreamReader(response.GetResponseStream());
Console.WriteLine(reader.ReadToEnd());
}
Console.WriteLine("Press enter to exit...");
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
已经有很多关于此的评论,但不幸的是,该库的作者不再活跃。
也许您知道我做错了什么(是否需要更多配置?)或者对使用 tor 下载文件的替代方法有想法。
小智 5
您遵循Tor 项目手册,命令行HTTPTunnelPort,您可以在此处找到:首先,您必须使用以下命令启动 HTTP 隧道
Tor.exe --HTTPTunnelPort 4711
Run Code Online (Sandbox Code Playgroud)
它为您提供了一个位于 127.0.0.1:4711 的 HTTP 隧道(另请参见此处)。现在您可以连接到此代理:
WebProxy oWebProxy = new WebProxy (IPAddress.Loopback.ToString (), 4711);
WebClient oWebClient = new WebClient ();
oWebClient.Proxy = oWebProxy;
oWebClient.DownloadFile ("http://myUri", "myFilename");
Run Code Online (Sandbox Code Playgroud)
使用Tor.exe 时请注意以下事项:
至少,您可能需要检查您的代理与本地 Internet 连接的 IP 地址是否不同。