DotNetTor 无法发出请求

DotNetTor Cannot Make Requests

最近我想从洋葱网站上获取 .json 内容 (例如 http://takedownmi4lfjhv.onion/root.json,这是一个现有的 link)

所以我安装了 C# 库 DotNetTor (Nuget package is here)

我复制并粘贴了 DotNetTor QuickStart Example Project 示例代码并将其 运行 与我的 C# 项目一起使用。

        var requestUri = "http://icanhazip.com/";

        // 1. Get real IP
        using (var httpClient = new HttpClient())
        {
            var message = httpClient.GetAsync(requestUri).Result;
            var content = message.Content.ReadAsStringAsync().Result;
            Console.WriteLine($"Your real IP: \t\t{content}");
        }

        // 2. Get TOR IP
        using (var httpClient = new HttpClient(new SocksPortHandler("127.0.0.1", socksPort: 9050)))
        {
            var message = httpClient.GetAsync(requestUri).Result; // GOT ERROR HERE // GOT ERROR HERE
            var content = message.Content.ReadAsStringAsync().Result;
            Console.WriteLine($"Your TOR IP: \t\t{content}");

            // 3. Change TOR IP
            var controlPortClient = new DotNetTor.ControlPort.Client("127.0.0.1", controlPort: 9051, password: "ILoveBitcoin21");
            controlPortClient.ChangeCircuitAsync().Wait();

            // 4. Get changed TOR IP
            message = httpClient.GetAsync(requestUri).Result;
            content = message.Content.ReadAsStringAsync().Result;
            Console.WriteLine($"Your other TOR IP: \t{content}");
        }

然而,在我标记// GOT ERROR HERE的那一行,它弹出了一个错误

System.AggregateException

Inner Exception 1:
TorException: Failed to send the request

Inner Exception 2:
SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:9050

为什么发送请求失败?如何解决?

上面的代码只是一个 Socks 代理处理程序,并不真正包含任何关于 Tor 的内容。

new SocksPortHandler("127.0.0.1", socksPort: 9050)

查看此 link 代码。这 只不过是通过 SocksPortHandler 127.0.0.1:9050

连接

但是这个端口还没有配置到 Tor。

所以在此之前,您应该配置端口。

您可以从 here 下载 Tor Expert Bundle。这可以帮助您为 Tor 配置该端口。