如何使用Tor与Java结合

更新了我的问题

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

很多人都说TOR是一种强大的IP轮换工具。 但是,我不知道如何使用Tor以及如何将Tor集成到Java Web Application?

我搜索谷歌找到例子,但仍然没有找到任何有用的东西。

任何人都可以帮助我。

您只需要让Java在localhost:8118 (8118是默认的Tor端口)上使用SOCKS4代理,当它使用URL(使用URLConnection )进行传出HTTP连接时,Tor服务正在运行。 请参阅此处了解如何在Java 8中使用代理。

编辑:你也可以使用这个纯Java Tor库 ,可以直接使用,也可以通过微小修改(如果它的行为完全像普通的本机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服务。

Interesting Posts