Maison  >  Article  >  développement back-end  >  Comment puis-je obtenir efficacement les codes d'état HTTP à l'aide de Curl de PHP ?

Comment puis-je obtenir efficacement les codes d'état HTTP à l'aide de Curl de PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-31 16:37:02195parcourir

How Can I Efficiently Get HTTP Status Codes Using PHP's Curl?

Comment obtenir efficacement du code HTTP avec PHP à l'aide de curl

Lors de l'utilisation de curl pour déterminer l'état d'un site Web, par exemple s'il est opérationnel , vers le bas ou la redirection, il est important de minimiser la surcharge de performances. Cependant, le code fourni télécharge la page entière, ce qui affecte négativement les performances.

Pour optimiser ce processus, envisagez les étapes suivantes :

  • Validez l'URL : Assurez-vous l'URL est valide avant de faire la demande pour gagner du temps.
  • Demander les en-têtes uniquement : Précisez que seuls les en-têtes sont récupérés, à l'exclusion du contenu du corps. Cela réduit considérablement le temps de transfert de données :
<code class="php">curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);</code>
  • Reportez-vous à la documentation supplémentaire : Pour plus de conseils sur l'obtention des codes d'état HTTP, reportez-vous à la documentation sur la vérification de l'existence d'une URL. :
if(!$url || !is_string($url) || ! preg_match('/^http(s)?:\/\/[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(\/.*)?$/i', $url)) {
    return false;
}

Code optimisé :

<code class="php">$url = 'http://www.example.com';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
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>

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