如何使用 Java 向洋葱网站发送 HTTP 请求

问题描述

我正在尝试通过 http 请求获取我的 .onion 网页的正文。是否可以使用 Java 向它发送 POST/GET 请求?

我环顾四周,发现这段代码给了我一个“java.net.socketException:连接被拒绝:连接”

InetSocketAddress proxyAddr = new InetSocketAddress("127.0.0.1",9050);
Proxy proxyTor = new Proxy(Proxy.Type.soCKS,proxyAddr);

OkHttpClient.Builder builder = new OkHttpClient.Builder().proxy(proxyTor).connectTimeout(30,TimeUnit.SECONDS);
OkHttpClient client = builder.build();
Request request = new Request.Builder().url("mysite.onion").build();

try (Response response = client.newCall(request).execute()) {
    System.out.println(response.body().string());
} catch (Exception e) {
    e.printstacktrace();
}

然后我尝试使用 silverTunnel-NG,但它的一些依赖项似乎不再起作用。

我是否错误地使用了上面的代码?你能解释一下为什么 InetSocketAddress proxyAddr = new InetSocketAddress("127.0.0.1",9050); 使用 127.0.0.1 和端口 9050?

感谢任何其他解决方案。

解决方法

将端口设置为 9150 而不是 9050。tor 包使用 127.0.0.1:9150 作为 SOCKS5 代理。