Obtenir le code HTTP de PHP avec curl
J'utilise CURL pour récupérer l'état d'un site, si c'est en haut/en bas ou de rediriger vers un autre site. Je veux la faire aussi simple que possible, mais cela ne fonctionne pas bien.
<?php
$ch = curl_init($url);
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);
return $httpcode;
?>
J'ai ce enveloppé dans une fonction. Il fonctionne très bien mais la performance n'est pas le meilleur parce qu'il télécharge l'intégralité de la page, chose si je supprime $output = curl_exec($ch);
il retourne 0
tout le temps.
Personne ne sait comment faire le mieux?
Vous devez vous connecter pour publier un commentaire.
Assurez-vous d'abord si l'URL est valide de fait (une chaîne de caractères, ce n'est pas vide, la bonne syntaxe), c'est rapide pour vérifier du côté serveur. Par exemple, en faisant cette première pourrait économiser beaucoup de temps:
Assurez-vous d'extraire les en-têtes de, pas le contenu du corps:
Pour plus de détails sur l'obtention de l'URL d'état http code que j'ai fait référence à un autre post, j'ai fait (il permet également de suivre les redirections):
Ensemble:
curl_setopt($ch, CURLOPT_NOBODY, true);
est suspendu. Vous ne savez pas si cela est lié au serveur de la version de PHP.Essayer de PHP "get_headers" de la fonction.
Quelque chose le long des lignes de:
curl_getinfo
— Obtenir des informations concernant un transfert spécifiqueVérifier curl_getinfo
curl_exec
est nécessaire. EssayezCURLOPT_NOBODY
de ne pas télécharger le corps. Qui pourrait être plus rapide.Voici ma solution besoin d'obtenir le Statut Http de vérification de l'état du serveur régulièrement