"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment émuler la requête GET d'un navigateur Web avec Curl ?

Comment émuler la requête GET d'un navigateur Web avec Curl ?

Publié le 2024-11-09
Parcourir:987

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

Émulation de la requête GET d'un navigateur Web avec Curl

Lorsque vous essayez de récupérer des pages Web à l'aide de curl, vous pouvez rencontrer des erreurs qui semblent provenir de en-têtes de requête non reconnus ou non exécutés. En effet, curl n'émule pas nativement les en-têtes de requête GET d'un navigateur Web.

Pour simuler correctement un navigateur Web, suivez ces étapes :

  1. Configurer l'agent utilisateur :

    • Attribuez un agent utilisateur valide à la requête curl à l'aide de CURLOPT_USERAGENT. Cela informe le serveur du navigateur et du système d'exploitation que vous simulez.
  2. Gérer les cookies (facultatif) :

    • Le serveur peut utiliser des cookies pour authentifier les demandes. Pour gérer les cookies, utilisez CURLOPT_COOKIE, CURLOPT_COOKIEFILE et CURLOPT_COOKIEJAR.
  3. Vérifier le certificat SSL :

    • Si la demande implique HTTPS, vous devrez peut-être vérifier le certificat SSL. Utilisez CURLOPT_SSL_VERIFYPEER pour désactiver la vérification du certificat (non recommandé pour les connexions sécurisées).
  4. Définir le mode détaillé :

    • Pour imprimer déboguer les informations et fournir des informations sur le processus demande-réponse, activez CURLOPT_VERBOSE.
  5. Exemple de code :

    • Voici un exemple mis à jour qui inclut ces améliorations :
$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);
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3