2015-04-15 13 views
8

Aggiornato la mia domandajava - Come usare Tor coniugare con Java

sto costruendo un sistema cingolato da Java per confrontare on-line prezzo. Tuttavia, mi preoccupo per il mio indirizzo IP può essere bannato. Quindi intendo utilizzare proxy per modificare la dinamica IP o utilizzare alcuni strumenti per ruotare automaticamente l'IP.

Molte persone hanno detto che TOR è un potente strumento per ruotare IP. Tuttavia, non so come usare Tor e come integrare Tor to Java Web Application?

Ho cercato su Google per trovare un esempio ma non trovo ancora nulla di utile.

Chiunque può aiutarmi.

+3

Ci sono troppe risposte possibili, o le risposte positive sarebbero troppo lunghe per questo formato. Aggiungi i dettagli per restringere il set di risposte o per isolare un problema che può essere risolto in pochi paragrafi. – CodingIntrigue

+0

Ciao @RGraham, apprezzo il tuo commento. Ho aggiornato la mia domanda. Mi potete aiutare ? –

+5

Perché chiudere questa domanda? per me è utile. – faster2b

risposta

11

avrete solo bisogno di ottenere Java per utilizzare il proxy SOCKS4 a localhost:8118 (8118 è la porta di Tor di default) quando si effettua una connessione HTTP in uscita che utilizza un URL (utilizzare URLConnection), mentre il servizio di Tor è in esecuzione. Vedere here per come utilizzare i proxy in Java 8.

Modifica: c'è anche this pure Java Tor library che si può essere in grado di utilizzare, direttamente o tramite modifiche minori (se si comporta interamente come il normale servizio Tor nativo), ma non è stato aggiornato da un po 'quindi potrebbe non essere compatibile con le ultime specifiche Tor.

HttpClient esempio:

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(); 
} 

Si noti che è must dispone del servizio di Tor corsa per questo.

+0

Selezionare la risposta come risposta migliore se ti ha aiutato :) –

+0

Ciao @Chris Dennett, posso usare Tor con HttpClient (invece di URLConnection) perché voglio eseguire più thread? –

+0

Certo, guarda questa domanda/risposta: http://stackoverflow.com/questions/9811828/common-httpclient-and-proxy –