Come utilizzare i proxy gratuiti con le applicazioni Java

Come utilizzare i proxy gratuiti con le applicazioni Java

Selezione e comprensione dei proxy gratuiti

Il labirinto digitale dei proxy liberi si dispiega come una scacchiera: ogni pezzo (proxy) ha la sua strategia, i suoi punti di forza e le sue inevitabili vulnerabilità. Prima di integrarli nelle applicazioni Java, è necessario distinguere i giocatori senza volto:

Tipo di proxy Descrizione Anonimato Velocità Affidabilità
HTTP Gestisce solo il traffico HTTP Basso-medio Veloce Basso
HTTPS Supporta HTTP(S) crittografato Medio-Alto Med Basso
SOCKS4/5 Versatile, indipendente dal protocollo Alto Med Med
Trasparente Rivela il tuo IP, filtraggio di base Nessuno Veloce Basso
Elite (Alto) Nasconde sia il tuo IP che il fatto che si tratti di proxy Alto Med Basso-medio

Nota: i proxy gratuiti sono effimeri e soggetti ai capricci del vento di internet. Verifica sempre la disponibilità prima dell'uso.


Raccolta di proxy gratuiti

Il rituale di acquisizione è semplice, ma richiede un occhio attento. Tra gli aggregatori affidabili ci sono:

  • https://free-proxy-list.net/
  • https://www.sslproxies.org/
  • https://www.proxy-list.download/

In genere, i proxy vengono utilizzati come:

IP:PORTA ad esempio 51.158.68.68:8811

Per i proxy HTTPS e SOCKS, cercare indicatori di protocollo aggiuntivi.


Configurazione di Java per i proxy HTTP/HTTPS

Il JDK, con la sua silenziosa eleganza, consente la configurazione del proxy tramite le proprietà di sistema. Invocazioni da riga di comando o dichiarazioni nel codice: scegli la tua formula.

Tramite riga di comando:

java -Dhttp.proxyHost=51.158.68.68 -Dhttp.proxyPort=8811 -Dhttps.proxyHost=51.158.68.68 -Dhttps.proxyPort=8811 -jar miaapp.jar

Configurazione in-code:

Italiano: System.setProperty("http.proxyHost", "51.158.68.68"); System.setProperty("http.proxyPort", "8811"); System.setProperty("https.proxyHost", "51.158.68.68"); System.setProperty("https.proxyPort", "8811");

Questo sussurra alla JVM: "Tutte le richieste HTTP e HTTPS in uscita devono passare attraverso questa sentinella".


Utilizzo del proxy a grana fine con java.net

Per coloro che cercano la precisione chirurgica, ovvero il proxy per richiesta, Java Procuratore la classe offre il bisturi.

importa java.net.*; Proxy proxy = nuovo Proxy(Proxy.Type.HTTP, nuovo InetSocketAddress("51.158.68.68", 8811)); URL url = nuovo URL("http://www.example.com"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);

Per HTTPS, esegui il cast su Connessione URL HttpsLa struttura rimane invariata; solo il protocollo cambia registro.


Configurazione proxy SOCKS5

Il protocollo SOCKS, amato dagli anarchici e dagli architetti di tunnel clandestini, è configurato in modo simile:

Riga di comando:

java -DsocksProxyHost=51.158.68.68 -DsocksProxyPort=8811 -jar miaapp.jar

In Java:

System.setProperty("socksProxyHost", "51.158.68.68"); System.setProperty("socksProxyPort", "8811");

Per connessione:

Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("51.158.68.68", 8811)); Socket socket = new Socket(proxy); // Da utilizzare con API di livello inferiore // Oppure con connessioni URL come sopra

Autenticazione con nome utente e password

Quando il gatekeeper richiede le credenziali, Java Autenticatore archi di classe in servizio:

Authenticator.setDefault(new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("nome utente", "password".toCharArray()); } });

Invocalo prima di qualsiasi chiamata di rete. Si integra perfettamente con i proxy HTTP/HTTPS e SOCKS.


Proxy rotanti: la danza dell'offuscamento

Per eludere divieti e limiti di velocità, fai girare i tuoi proxy: un balletto di connessioni effimere.

Lista proxy = Arrays.asList( new Proxy(Proxy.Type.HTTP, new InetSocketAddress("1.1.1.1", 8080)), new Proxy(Proxy.Type.HTTP, new InetSocketAddress("2.2.2.2", 8080)) ); for (Proxy proxy : proxy) { URL url = new URL("http://target.com"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy); // Gestisci la risposta... }

Per una maggiore sofisticazione, si consideri un algoritmo di selezione casuale o ponderato, oppure librerie come LittleProxy per la gestione dinamica dei proxy.


Gestione dei timeout e degli errori

I proxy gratuiti sono affidabili come il meteo parigino; aspettatevi piogge improvvise. Proteggete il vostro codice con i timeout:

conn.setConnectTimeout(5000); // 5 secondi conn.setReadTimeout(5000);

Implementa nuovi tentativi e convalida sempre il proxy prima di affidargli i tuoi dati.


Test dell'anonimato e della velocità del proxy a livello di programmazione

Misura il polso dei tuoi proxy: sono vivi, sono veloci, sono discreti?

inizio lungo = System.currentTimeMillis(); HttpURLConnection conn = (HttpURLConnection) nuovo URL("http://api.ipify.org").openConnection(proxy); conn.setConnectTimeout(3000); conn.setReadTimeout(3000); if (conn.getResponseCode() == 200) { trascorso lungo = System.currentTimeMillis() - inizio; String externalIp = new BufferedReader(new InputStreamReader(conn.getInputStream())) .readLine(); System.out.println("Il proxy è attivo. IP: " + externalIp + " Latenza: " + trascorso + "ms"); }

Incrocia l'IP esterno con il tuo: se corrispondono, l'anonimato è solo un'illusione.


Best Practices: Navigare nel Maelstrom dei Proxy Gratuiti

Pratica Motivazione
Convalida i proxy Molti muoiono entro poche ore; automatizzare il controllo.
Utilizzare HTTPS/SOCKS Per motivi di privacy, se possibile, evita transparent/HTTP.
Ruotare regolarmente Attenuare i divieti, distribuire il carico.
Imposta timeout Evita di restare attaccato a proxy non funzionanti.
Limitare i dati sensibili I proxy gratuiti potrebbero registrare il traffico; non inviare mai password.
Obbedisci al file robots.txt Rispettare la raccolta fondi etica ed evitare tempeste legali.

Librerie Java chiave per la gestione avanzata dei proxy

Biblioteca Scopo Artefatto di Maven
OkHttp Client HTTP moderno, facile utilizzo del proxy com.squareup.okhttp3:okhttp
Apache HttpClient Funzionalità HTTP avanzate, supporto proxy org.apache.httpcomponents:httpclient
LittleProxy Server proxy, concatenamento, rotazione org.littleshoot:littleproxy

Esempio di OkHttp:

OkHttpClient client = new OkHttpClient.Builder() .proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("51.158.68.68", 8811))) .build(); Richiesta request = new Request.Builder().url("https://httpbin.org/ip").build(); Risposta response = client.newCall(request).execute(); System.out.println(response.body().string());

Risoluzione dei problemi comuni

Sintomo Possibile causa Rimedio
java.net.ConnectException Proxy non funzionante/non raggiungibile Prova un altro proxy
java.net.SocketTimeout Proxy o rete lenti Aumenta il timeout, ruota il proxy
403/429 risposte IP vietato o con limitazione di velocità Ruota i proxy, aggiungi ritardi
Nessun effetto apparente Proxy non impostato, configurato in modo errato o ignorato Controlla nuovamente le impostazioni del proxy
Errori di handshake SSL Il proxy non supporta HTTPS Conferma il tipo di proxy, usa HTTP

Esempio di flusso di lavoro: integrazione di proxy in uno scraper Web Java

  1. Recupera l'elenco dei proxy aggiornati
  2. Convalida ogni proxy (connetti, controlla l'IP esterno)
  3. Costruire un meccanismo di rotazione proxy
  4. Configura timeout e nuovi tentativi
  5. Raccogli gli URL di destinazione utilizzando proxy rotanti
  6. Errori di log, banna i proxy non funzionanti, aggiorna periodicamente l'elenco

In definitiva, la danza con i proxy gratuiti in Java è sia arte che scienza: un passo a due tra automazione e vigilanza, in cui ogni richiesta è un passo nel balletto dei dati e ogni proxy una maschera fugace nella mascherata del web.

Teofilo Beauvais

Teofilo Beauvais

Analista proxy

Théophile Beauvais è un analista proxy di 21 anni presso ProxyMist, dove è specializzato nella cura e nell'aggiornamento di elenchi completi di server proxy da tutto il mondo. Con un'innata attitudine per la tecnologia e la sicurezza informatica, Théophile è diventato un membro fondamentale del team, garantendo la fornitura gratuita di server proxy SOCKS, HTTP, elite e anonimi affidabili agli utenti di tutto il mondo. Nato e cresciuto nella pittoresca città di Lione, la passione di Théophile per la privacy digitale e l'innovazione è nata in giovane età.

Commenti (0)

Non ci sono ancora commenti qui, potresti essere il primo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *