[cURL] Lire le header d'une page
PHP peut facilement ouvrir une page web grâce à la bibliothèque cURL. Cette dernière est parfois désactivé chez certains hébergeurs (souvent les hébergeurs gratuits) mais sinon elle est très facile à utiliser. Ce tutoriel va exploiter cURL pour lire l'entête d'une page web. C'est par exemple très pratique pour connaître le code HTTP d'une page web.
Outil pour voir l'entête HTTP
Avant de commencer, vous pouvez avoir un aperçu de ce que vous serez capable de faire à la fin de ce tutoriel. Pour cela il vous suffit de tester l'outil "analyser l'entête HTTP d'une page".
Prérequis
Ce tutoriel nécessite des connaissances en PHP. Si vous n'en avez pas mais que vous souhaitez tout de même poursuivre ce tutoriel, je vous recommande la lecture de ces deux tutoriels de bases:
Code PHP
Le code nécessaire pour afficher le header d'une page web est assez simple. Il vous suffit de créer une page PHP et d'y insérer le code suivant en remplaçant http://www.example.com par l'adresse de votre choix. L'ensemble du code est commenté pour une meilleure compréhension.
span style="color: #808080; font-style: italic;">// Initialiser cURL // Définir l'adresse à ouvrir "http://www.example.com/"); // Activer la visualisation du header // Exécuter // Fermer pour libérer des ressources systèmes // Afficher le header
Puisque le code est commenté, je ne prend pas la peine de l'expliquer d'avantage. Il faut toutefois savoir que ce code est assez simple et qu'il y a des spécificité au cas où vous souhaitez voir le header d'une page qui commence par "https" ou alors si vous utilisez un proxy (c'est le cas par exemple pour accéder à internet dans certaines universités).
Exemple de header retourné
Le code présenté sur ce tutoriel permet de retourner un header qui pourrait ressembler à ceci par exemple:
HTTP/1.1 200 OK Date: Fri, 18 Feb 2011 21:31:14 GMT Server: Apache Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 19 Nov 1981 08:52:00 GMT Pragma: no-cache X-Powered-By: PHP/5.2.17 Set-Cookie: PHPSESSID=2ecad0a895a7bc2d51fe704f886164bd; path=/; domain=.infowebmaster.fr Set-Cookie: pseudo=deleted; expires=Thu, 18-Feb-2010 21:31:13 GMT Set-Cookie: infowebmaster_connexion=deleted; expires=Thu, 18-Feb-2010 21:31:13 GMT Transfer-Encoding: chunkedContent-Type: text/html
Dans cet exemple il s'agit du header de la page http://www.infowebmaster.fr.