首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java:使用Silvertunnel的Tor HTTP请求

Java:使用Silvertunnel的Tor HTTP请求
EN

Stack Overflow用户
提问于 2013-02-28 22:07:16
回答 1查看 3.2K关注 0票数 1

我正在尝试使用Silvertunnel (https://silvertunnel.org/doc/netlib.html)在Tor网络上从Java应用程序中发出一个匿名HTTP请求。我使用的是示例代码,它在通过TCPIP发出请求时有效,但在使用TOR设置时,它以以下异常结束(在尝试连接大约10分钟后):

代码语言:javascript
复制
java.io.IOException: Tor.connect: unable to connect to null:80 after 11 full retries with 5 sub retries
    at org.silvertunnel.netlib.layer.tor.clientimpl.Tor.connect(Tor.java:281)
    at org.silvertunnel.netlib.layer.tor.TorNetLayer.createNetSocket(TorNetLayer.java:113)
    at org.silvertunnel.netlib.util.HttpUtil.get(HttpUtil.java:121)
    at FlightBot.main(FlightBot.java:48)

下面是我使用的代码:

代码语言:javascript
复制
NetLayer lowerNetLayer = NetFactory.getInstance().getNetLayerById(NetLayerIDs.TOR);

// wait until TOR is ready (optional) - this is only relevant for anonymous communication:
lowerNetLayer.waitUntilReady();

// prepare parameters (http default port: 80)
TcpipNetAddress httpServerNetAddress = new TcpipNetAddress("httptest.silvertunnel.org", 80);
String pathOnHttpServer = "/httptest/bigtest.jsp?id=example";
long timeoutInMs = 5000;

// do the HTTP request and wait for the response
byte[] responseBody = HttpUtil.getInstance().get(lowerNetLayer, httpServerNetAddress, pathOnHttpServer, timeoutInMs);

// print out the response
System.out.println(new String(responseBody));

是我做错了什么,还是Tor网络目前不可用?

需要说明的是,它在使用以下命令时可以正常工作:

代码语言:javascript
复制
NetLayer lowerNetLayer = NetFactory.getInstance().getNetLayerById(NetLayerIDs.TCPIP)

在第一行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-19 21:28:28

问题在于底层的Tor实现。Tor网络不断发展,但并不是所有的更改都在Silvertunnel中实现。由于个人原因,silvertunnel项目已停止。我已经创建了一个新版本:SilverTunnel-NG,它是原始项目的分支。

现在,到Tor网络的连接又开始工作了。

希望这对您来说还不算太晚:)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15137527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档