web-dev-qa-db-ja.com

Torを使用する方法Java

質問を更新しました

Javaでクローラーシステムを構築しています。オンラインで価格を比較しています。ただし、IPアドレスが禁止されている可能性があるので、プロキシを使用してIPダイナミックを変更するか、いくつかのツールを使用してIPを自動的にローテーションします。

多くの人が、TORはIPをローテーションするための強力なツールであると述べています。しかし、Torの使い方やTorをJava Webアプリケーション?

私は例を見つけるためにグーグルを検索しましたが、それでも有用なものは何も見つかりません。

誰でも手伝ってくれます。

16
Leo Le

URLを使用する発信HTTP接続を作成する場合(URLConnectionを使用)、Javaを使用してlocalhost:8118(8118がデフォルトのTorポート)でSOCKS4プロキシを使用する必要があります) )、Torサービスの実行中。Java 8でプロキシを使用する方法については、 here を参照してください。

編集: この純粋な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サービスを実行している必要があることに注意してください

15
Chris Dennett