Cómo usar proxies gratuitos con aplicaciones Java

Cómo usar proxies gratuitos con aplicaciones Java

Cómo seleccionar y comprender los servidores proxy gratuitos

El laberinto digital de proxies gratuitos se despliega como un tablero de ajedrez: cada pieza (proxy) tiene su propia estrategia, fortalezas y vulnerabilidades inevitables. Antes de integrarlos en sus aplicaciones Java, es necesario diferenciar a los jugadores sin rostro:

Tipo de proxy Descripción Anonimato Velocidad Fiabilidad
HTTP Maneja únicamente tráfico HTTP Bajo-medio Rápido Bajo
HTTPS Admite HTTP(S) cifrados Medio-alto Medicina Bajo
SOCKS4/5 Protocolo agnóstico, versátil Alto Medicina Medicina
Transparente Revela tu IP, filtrado básico Ninguno Rápido Bajo
Élite (Alta) Oculta tanto tu IP como el hecho de estar utilizando un proxy. Alto Medicina Bajo-medio

Nota: Los proxies gratuitos son efímeros y están sujetos a las fluctuaciones del mercado. Verifique siempre su disponibilidad antes de usarlos.


Recolección de proxies gratuitos

El proceso de adquisición es sencillo, pero requiere perspicacia. Entre los agregadores de confianza se incluyen:

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

Normalmente, los servidores proxy se utilizan como:

IP:PUERTO p. ej., 51.158.68.68:8811

Para los servidores proxy HTTPS y SOCKS, busque indicadores de protocolo adicionales.


Configuración de Java para servidores proxy HTTP/HTTPS

El JDK, con su discreta elegancia, permite la configuración del proxy mediante las propiedades del sistema. Invocaciones desde la línea de comandos o declaraciones dentro del código: elija la opción que prefiera.

A través de la línea de comandos:

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

Configuración en código:

Sistema.setProperty("http.proxyHost", "51.158.68.68"); Sistema.setProperty("http.proxyPort", "8811"); Sistema.setProperty("https.proxyHost", "51.158.68.68"); Sistema.setProperty("https.proxyPort", "8811");

Esto le susurra a la JVM: “Todas las solicitudes salientes HTTP y HTTPS deben pasar por este centinela”.


Uso de proxy de grano fino con java.net

Para quienes buscan precisión quirúrgica (proxy por solicitud), Java Apoderado La clase ofrece el bisturí.

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

Para HTTPS, convertir a Conexión URL HTTPSLa estructura permanece inalterada; sólo el protocolo canta una melodía diferente.


Configuración del proxy SOCKS5

El protocolo SOCKS, amado por los anarquistas y arquitectos de túneles clandestinos, está configurado de manera similar:

Línea de comandos:

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

En Java:

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

Por conexión:

Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("51.158.68.68", 8811)); Socket socket = new Socket(proxy); // Usar con API de nivel inferior // O con conexiones URL como las anteriores

Autenticación con nombre de usuario y contraseña

Cuando el guardián solicita credenciales, Java Autenticador Arcos de clase en servicio:

Authenticator.setDefault(new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("nombre de usuario", "contraseña".toCharArray()); } });

Invoque esto antes de cualquier llamada de red. Se integra perfectamente con los proxies HTTP/HTTPS y SOCKS.


Proxies rotativos: la danza de la ofuscación

Para evadir prohibiciones y límites de velocidad, haga circular sus proxies: un ballet de conexiones efímeras.

Lista proxies = 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)) ); para (Proxy proxy : proxies) { URL url = new URL("http://target.com"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy); // Manejar la respuesta... }

Para mayor sofisticación, considere un algoritmo de selección aleatorio o ponderado, o bibliotecas como Pequeño proxy para la gestión dinámica de proxy.


Manejo de tiempos de espera y fallos

Los proxies gratuitos son tan fiables como el clima parisino; prepárate para lluvias repentinas. Protege tu código con tiempos de espera:

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

Implemente reintentos y valide siempre el proxy antes de confiarle sus datos.


Prueba de anonimato y velocidad del proxy mediante programación

Mide el pulso de tus representantes: ¿están vivos, son rápidos, son discretos?

long start = System.currentTimeMillis(); HttpURLConnection conn = (HttpURLConnection) new URL("http://api.ipify.org").openConnection(proxy); conn.setConnectTimeout(3000); conn.setReadTimeout(3000); if (conn.getResponseCode() == 200) { long elapsed = System.currentTimeMillis() - start; String externalIp = new BufferedReader(new InputStreamReader(conn.getInputStream())) .readLine(); System.out.println("El proxy está activo. IP: " + externalIp + " Latencia: " + elapsed + "ms"); }

Cruza la IP externa con la tuya; si coinciden, el anonimato no es más que una ilusión.


Mejores prácticas: cómo navegar por la vorágine del proxy gratuito

Práctica Razón fundamental
Validar proxies Muchos mueren en cuestión de horas; automatizar la comprobación.
Utilice HTTPS/SOCKS Para mayor privacidad, evite el uso transparente/HTTP cuando sea posible.
Girar regularmente Mitigar prohibiciones, distribuir carga.
Establecer tiempos de espera Evite quedarse colgado de servidores proxy inactivos.
Limitar los datos sensibles Los proxies gratuitos pueden registrar el tráfico; nunca envíen contraseñas.
Obedezca robots.txt Honre el raspado ético y evite tormentas legales.

Bibliotecas Java clave para un mejor manejo de proxy

Biblioteca Objetivo Artefacto Maven
OkHttp Cliente HTTP moderno, fácil uso de proxy com.squareup.okhttp3:okhttp
Cliente HTTP Apache Funciones HTTP enriquecidas, compatibilidad con proxy org.apache.httpcomponents:httpclient
Pequeño proxy Servidor proxy, encadenamiento, rotación org.littleshoot:littleproxy

Ejemplo de OkHttp:

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

Solución de problemas comunes

Síntoma Posible causa Recurso
java.net.ConnectException Proxy muerto/inalcanzable Pruebe con otro proxy
java.net.SocketTimeout Proxy o red lentos Aumentar el tiempo de espera, rotar el proxy
403/429 respuestas IP prohibida o con velocidad limitada Rotar proxies, agregar retrasos
Sin efecto aparente Proxy no configurado, mal configurado o ignorado Vuelva a verificar la configuración del proxy
Errores de protocolo de enlace SSL El proxy no admite HTTPS Confirmar tipo de proxy, utilizar HTTP

Ejemplo de flujo de trabajo: Integración de servidores proxy en un raspador web de Java

  1. Obtener una lista de servidores proxy actualizada
  2. Validar cada proxy (conectar, verificar IP externa)
  3. Construir un mecanismo de rotación de proxy
  4. Configurar tiempos de espera y reintentos
  5. Extraer URLs de destino mediante servidores proxy rotativos
  6. Registrar fallos, prohibir servidores proxy inactivos, actualizar la lista periódicamente

Al final, la danza con proxies libres en Java es al mismo tiempo arte y ciencia: un pas de deux de automatización y vigilancia, donde cada solicitud es un paso en el ballet de datos y cada proxy, una máscara fugaz en la mascarada de la web.

Teófilo Beauvais

Teófilo Beauvais

Analista de proxy

Théophile Beauvais tiene 21 años y es analista de servidores proxy en ProxyMist, donde se especializa en seleccionar y actualizar listas completas de servidores proxy de todo el mundo. Con una aptitud innata para la tecnología y la ciberseguridad, Théophile se ha convertido en un miembro fundamental del equipo, ya que garantiza la entrega de servidores proxy SOCKS, HTTP, elite y anónimos confiables de forma gratuita a usuarios de todo el mundo. Nacido y criado en la pintoresca ciudad de Lyon, la pasión de Théophile por la privacidad digital y la innovación surgió a una edad temprana.

Comentarios (0)

Aún no hay comentarios aquí, ¡puedes ser el primero!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *