"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo emular la solicitud GET de un navegador web con Curl?

¿Cómo emular la solicitud GET de un navegador web con Curl?

Publicado el 2024-11-09
Navegar:557

How to Emulate a Web Browser\'s GET Request with Curl?

Emulación de la solicitud GET de un navegador web con Curl

Al intentar recuperar páginas web utilizando curl, es posible que encuentre errores que parecen deberse a encabezados de solicitud no reconocidos o no cumplidos. Esto se debe a que curl no emula de forma nativa los encabezados de solicitud GET de un navegador web.

Para simular correctamente un navegador web, siga estos pasos:

  1. Configurar el agente de usuario :

    • Asigne un agente de usuario válido a la solicitud curl usando CURLOPT_USERAGENT. Esto informa al servidor qué navegador y sistema operativo estás simulando.
  2. Administrar cookies (opcional):

    • El servidor puede utilizar cookies para autenticar solicitudes. Para administrar cookies, utilice CURLOPT_COOKIE, CURLOPT_COOKIEFILE y CURLOPT_COOKIEJAR.
  3. Verificar certificado SSL:

    • Si la solicitud involucra HTTPS, es posible que deba verificar el certificado SSL. Utilice CURLOPT_SSL_VERIFYPEER para desactivar la verificación del certificado (no recomendado para conexiones seguras).
  4. Establecer modo detallado:

    • Para imprimir depurar información y proporcionar información sobre el proceso de solicitud-respuesta, habilite CURLOPT_VERBOSE.
  5. Código de ejemplo:

    • Aquí hay un ejemplo actualizado que incluye estas mejoras:
$url = "https://new.aol.com/productsweb/subflows/ScreenNameFlow/AjaxSNAction.do?s=username&f=firstname&l=lastname";
$agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec($ch);
var_dump($result);
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3