Vous êtes ici Codes PHP et MySQL > Classes > Retrouve et affiche l'entête de la requete HTTP

 

Retrouve et affiche l'entête de la requete HTTP

Vous voulez connaitre le contenu de votre entête ? Voici une classe qui devrait vous y aider.
 
marco12
[2] sources en PHP voir
Code vu 5170 fois
Enregistré le 17 Fév 2008
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Retrouve et affiche l'entête de la requete HTTP
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Retrouve et affiche l'entête de la requete HTTP           */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts341-PHP.htm              */
/* Auteur         : marco12                                                   */
/* Date édition   : 17 Fév 2008                                               */
/*                                                                            */
/******************************************************************************/
?>
      <?php

      /**
      * Access the HTTP Request
      */
      class http_request {
      /** additional HTTP headers not prefixed with HTTP_ in $_SERVER superglobal */
      var $add_headers = array('CONTENT_TYPE''CONTENT_LENGTH');
      /**
      * Construtor
      * Retrieve HTTP Body
      * @param Array Additional Headers to retrieve
      */
      function http_request($add_headers false) {
       
      $this->retrieve_headers($add_headers);
      $this->body = @file_get_contents('php://input');
      }
      /**
      * Retrieve the HTTP request headers from the $_SERVER superglobal
      * @param Array Additional Headers to retrieve
      */
      function retrieve_headers($add_headers false) {
       
      if ($add_headers) {
      $this->add_headers array_merge($this->add_headers$add_headers);
      }
       
      if (isset($_SERVER['HTTP_METHOD'])) {
      $this->method $_SERVER['HTTP_METHOD'];
      unset($_SERVER['HTTP_METHOD']);
      }
      else {
$this->method=isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : false;
      }
$this->protocol=isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL']:false;
$this->request_method=isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD']:false;
       
      $this->headers = array();
      foreach($_SERVER as $i=>$val) {
      if (strpos($i'HTTP_') === || in_array($i$this->add_headers)) {
      $name str_replace(array('HTTP_''_'), array('''-'), $i);
      $this->headers[$name] = $val;
      }
      }
      }
      /**
      * Retrieve HTTP Method
      */
      function method() {
      return $this->method;
      }
       
      /**
      * Retrieve HTTP Body
      */
      function body() {
      return $this->body;
      }
       
      /**
      * Retrieve an HTTP Header
      * @param string Case-Insensitive HTTP Header Name (eg: "User-Agent")
      */
      function header($name) {
      $name strtoupper($name);
      return isset($this->headers[$name]) ? $this->headers[$name] : false;
      }
      /**
      * Retrieve all HTTP Headers
      * @return array HTTP Headers
      */
      function headers() {
      return $this->headers;
      }
       
      /**
      * Return Raw HTTP Request (note: This is incomplete)
      * @param bool ReBuild the Raw HTTP Request
      */
      function raw($refresh false) {
       
      if (isset($this->raw) && !$refresh) {
      return $this->raw// return cached
      }
       
      $headers $this->headers();
      $this->raw "{$this->method}\r\n";
       
      foreach($headers as $i=>$header) {
      $this->raw .= "$i: $header\r\n";
      }
       
      $this->raw .= "\r\n{$http_request->body}";
      return $this->raw;
      }
      }
      /**
      * Example Usage
      * Echos the HTTP Request back to the client/browser
      */
      $http_request = new http_request();
       
      $resp $http_request->raw();
      echo nl2br($resp);
       
      ?>

 

Fonctions du code

: Crée un tableau - (PHP 4, PHP 5)
: Lit tout un fichier dans une chaîne - (PHP 4 >= 4.3.0, PHP 5)
: Fusionne un ou plusieurs tableaux - (PHP 4, PHP 5)
: Détermine si une variable est affectée - (PHP 4, PHP 5)
: Détruit une variable - (PHP 4, PHP 5)
: Indique si une valeur appartient à un tableau - (PHP 4, PHP 5)
: Trouve la position d'un caractère dans une chaîne - (PHP 4, PHP 5)
: Remplace toutes les occurrences dans une chaîne - (PHP 4, PHP 5)
: Renvoie une chaîne en majuscules - (PHP 4, PHP 5)
: Effectue une requête personnalisée - (PECL pecl_http:1.0.0-1.5.5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: Insère un retour à la ligne HTML à chaque nouvelle ligne - (PHP 4, PHP 5)
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Classes

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
    Editeur PHP
 
        Publicité