
Le enseñará a utilizar la IP proxy en PHP para obtener datos.
Comprometidos en el rastreador web chicos deben haber encontrado el 403 Prohibido cosa mala, esta vez elIP proxyEs un salvavidas para ti. Hoy usamos la forma más directa para hablar de cómo añadir la funcionalidad de IP proxy a cURL en PHP.
¿Por qué no usar un gateo desnudo?
Muchos sitios disponen de mecanismos anti-crawler, por ejemplo:
- Las visitas frecuentes a la misma IP se incluirán en una lista negra
- Los servidores pueden reconocer segmentos IP de la sala de servidores
- Algunos PI regionales recibirán un trato especial
Esta vez, con el grupo de IP proxy de ipipgo, es como poner una máscara de gas en el rastreador, que puede evitar eficazmente estas trampas de monitorización.
Código práctico
Veamos una configuración básica:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "URL de destino");
curl_setopt($ch, CURLOPT_PROXY, "Dirección IP del proxy:Puerto"); curl_setopt($ch, CURLOPT_PROXY, "Dirección IP del proxy:Puerto");
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "account:password"); curl_setopt($ch, CURLOPT_PROXYUSERPWD, "Account:Password");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
Concéntrese en estos tres parámetros:
| parámetros | corresponde al inglés -ity, -ism, -ization |
|---|---|
| CURLOPT_PROXY | Introduzca la dirección del servidor proxy |
| CURLOPT_PROXYTYPE | Tipo de agente (puede omitirse) |
| CURLOPT_PROXYUSERPWD | Información sobre la certificación |
Cambio automático de IP
Si quieres tener una operación larga y estable, tienes que aprender a cambiar las IPs automáticamente. El Servicio de Proxy Dinámico de ipipgo es recomendado aquí, y su API puede obtener las últimas IPs en tiempo real:
// Obtener el pool de IPs proxy de ipipgo
$ipPool = json_decode(file_get_contents("https://api.ipipgo.com/getips?type=php"));
foreach($ipPool as $proxy){
curl_setopt($ch, CURLOPT_PROXY, $proxy->ip.":".$proxy->port);
// Añada aquí la lógica de gestión de errores
if(curl_errno($ch) == 0){
break; // salir del bucle en caso de éxito
}
}
Una guía imprescindible para evitar el pozo
1. No seas perezoso con la configuración del tiempo de espera: Se recomienda que CURLOPT_TIMEOUT se fije en 8-15 segundos, demasiado corto para falsos positivos.
2. Recuerda limpiar tus huellas.: Añade CURLOPT_USERAGENT para disfrazar el navegador.
3. Verificar la validez del proxy: comprueba periódicamente el código de estado de la respuesta con curl_getinfo
Preguntas frecuentes QA
P: ¿Las IP proxy no funcionan cuando las utilizo?
R: En este caso, se recomienda utilizar el proxy dinámico de corta duración de ipipgo, su tiempo de supervivencia de IP puede ser exacto al nivel de minutos.
P: ¿Los datos devueltos están siempre incompletos?
R: Prueba a añadir el parámetro CURLOPT_ENCODING, ¡algunos servidores proxy comprimen los datos!
P: ¿Cómo puedo saber si un proxy es anónimo?
R: Utilizando la interfaz de detección proporcionada por ipipgo, se devuelve la cabecera X-FORWARDED-FOR
Por último, para ser honestos, mantener un grupo de IP proxy por su cuenta es costoso y agotador. Los proveedores de servicios profesionales como ipipgo no sólo ofrecenDecenas de millones de recursos IPLa primera es que el SDK de PHP es un buen paquete, y la documentación de la interfaz también está escrita de forma humana. Su paquete PHP SDK es bastante perfecto, documentación de acoplamiento también está escrito en términos humanos, se recomienda utilizar directamente.

