Maison  >  Article  >  développement back-end  >  Comment optimiser la récupération de code HTTP en PHP avec cURL ?

Comment optimiser la récupération de code HTTP en PHP avec cURL ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-30 07:00:27848parcourir

How to Optimize HTTP Code Retrieval in PHP with cURL?

Atteindre des performances optimales pour la récupération de code HTTP en PHP avec cURL

L'utilisation de cURL pour vérifier l'état d'un site Web pose un défi lorsque l'on cherche à optimiser les performances. Bien que l'extrait de code fourni remplisse son objectif, il rencontre des limitations de performances en téléchargeant l'intégralité de la page Web.

Approche simplifiée

Pour améliorer les performances, il est crucial de récupérer uniquement les informations nécessaires, à savoir le HTTP code de réponse. Ceci peut être réalisé en :

  • Vérifier la validité de l'URL avant de continuer.
  • Configurer cURL pour récupérer uniquement les en-têtes, en omettant le contenu de la page.
<code class="php">if(!$url || !is_string($url) || ! preg_match('/^http(s)?:\/\/[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(\/.*)?$/i', $url)){
    return false;
}

curl_setopt($ch, CURLOPT_HEADER  , true);  // we want headers
curl_setopt($ch, CURLOPT_NOBODY  , true);  // we don't need body</code>

Exécution détaillée

Pour des détails complets sur l'obtention du code d'état de l'URL, reportez-vous à :

  • Comment puis-je vérifier si une URL existe via PHP ?

Mise en œuvre

En mettant le tout ensemble, le code optimisé devient :

<code class="php">$url = 'http://www.example.com';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, true);    // we want headers
curl_setopt($ch, CURLOPT_NOBODY, true);    // we don't need body
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT,10);
$output = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo 'HTTP code: ' . $httpcode;</code>

En appliquant ces techniques, les performances de votre processus de récupération de code HTTP connaîtront des améliorations significatives.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn