Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Tor与Java结合使用_Java_Autorotate_Tor - Fatal编程技术网

如何将Tor与Java结合使用

如何将Tor与Java结合使用,java,autorotate,tor,Java,Autorotate,Tor,更新了我的问题 我正在用Java构建一个爬虫系统来在线比较价格。但是,我担心我的IP地址会被禁止。所以我打算使用代理来改变IP动态或使用一些工具来自动旋转IP 很多人说TOR是一个强大的IP轮换工具。然而,我不知道如何使用Tor以及如何将Tor集成到JavaWeb应用程序中 我在谷歌上搜索了一些例子,但仍然没有找到任何有用的东西 任何人都可以帮助我。您只需要让Java在Tor服务运行时,在使用URL(使用URLConnection)进行传出HTTP连接时,在localhost:8118(8118

更新了我的问题

我正在用Java构建一个爬虫系统来在线比较价格。但是,我担心我的IP地址会被禁止。所以我打算使用代理来改变IP动态或使用一些工具来自动旋转IP

很多人说TOR是一个强大的IP轮换工具。然而,我不知道如何使用Tor以及如何将Tor集成到JavaWeb应用程序中

我在谷歌上搜索了一些例子,但仍然没有找到任何有用的东西


任何人都可以帮助我。

您只需要让Java在Tor服务运行时,在使用URL(使用
URLConnection
)进行传出HTTP连接时,在
localhost:8118
(8118是默认的Tor端口)使用SOCKS4代理。有关如何在Java8中使用代理的信息,请参阅

编辑:您还可以直接使用或通过轻微修改(如果它的行为完全类似于正常的本机Tor服务),但它已经有一段时间没有更新了,因此可能与最新的Tor规范不兼容

HttpClient示例:

HttpHost proxy = new HttpHost("127.0.0.1", 8118, "http");

DefaultHttpClient httpclient = new DefaultHttpClient();
try {
    httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);

    HttpHost target = new HttpHost("www.google.com", 80, "http");
    HttpGet req = new HttpGet("/");

    System.out.println("executing request to " + target + " via " + proxy);
    HttpResponse rsp = httpclient.execute(target, req);
    ...
} finally {
    // When HttpClient instance is no longer needed,
    // shut down the connection manager to ensure
    // immediate deallocation of all system resources
    httpclient.getConnectionManager().shutdown();
}

请注意,您必须为此运行Tor服务。

可能的答案太多,或者好的答案对于此格式来说太长。请添加详细信息以缩小答案集或隔离一个可以在几段中回答的问题。您好@RGraham,我感谢您的评论。我已经更新了我的问题。你能帮我吗?为什么要结束这个问题?对我来说很有用。如果我的答案对你有帮助,请勾选我的答案作为最佳答案:)嗨@Chris Dennett,我可以将Tor与HttpClient(而不是URLConnection)一起使用吗?因为我想运行多个线程?当然,请参阅此问题/答案:我如何启动Tor服务?我刚刚找到了如何在Linux上安装Tor Browser()我尝试了Rachid,结果发现它不支持获取HTTP页面:
com.subgraph.rachid.toreException:返回未在com.subgraph.rachid.socks.SocksClientTask.sendHttpPage上实现的HTTP页面(SocksClientTask.java:112)
我知道这不是因为它一般不支持HTTP,而是它不公开HTTP代理,而是公开SOCKS代理?所以我仍然应该尝试通过socks代理转发apache httpclient