Maison >développement back-end >tutoriel php >« file_get_contents() » de PHP peut-il envoyer des en-têtes HTTP personnalisés ?
La fonction file_get_contents() de PHP peut-elle envoyer des en-têtes HTTP ?
En PHP, file_get_contents() est une fonction d'E/S de fichier polyvalente qui permet vous pouvez également récupérer le contenu des URL. Cependant, il y a eu une certaine confusion quant à sa capacité à envoyer des en-têtes HTTP.
Au départ, file_get_contents() ne fournissait pas de moyen direct d'envoyer des en-têtes HTTP personnalisés. Il était généralement admis que la définition de ces en-têtes via le paramètre de l'agent utilisateur de php.ini était la seule option.
Cependant, après un examen plus approfondi de la documentation file_get_contents(), il a été découvert que les en-têtes HTTP peuvent effectivement être envoyés en utilisant le Fonction stream_context_create(). Voici un exemple :
// Create a stream context with custom HTTP headers $opts = [ "http" => [ "method" => "GET", "header" => "Accept-language: en\r\n" . "Cookie: foo=bar\r\n" ] ]; // Create a stream context from the options $context = stream_context_create($opts); // Open the URL with the stream context $file = file_get_contents('http://www.example.com/', false, $context);
En suivant cette approche, vous pouvez désormais envoyer des en-têtes HTTP personnalisés avec file_get_contents(). Il est important de noter que cette méthode n'a pas été testée de manière approfondie, vous pouvez donc rencontrer des problèmes en fonction des en-têtes spécifiques et des configurations du serveur.
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!