Heim >Backend-Entwicklung >PHP-Tutorial >Kann PHPs „file_get_contents()' benutzerdefinierte HTTP-Header senden?
Kann die Funktion file_get_contents() von PHP HTTP-Header senden?
In PHP ist file_get_contents() eine vielseitige Datei-E/A-Funktion, die Folgendes ermöglicht Sie können auch den Inhalt von URLs abrufen. Es gab jedoch einige Verwirrung hinsichtlich der Fähigkeit, HTTP-Header zu senden.
Anfangs bot file_get_contents() keine direkte Möglichkeit, benutzerdefinierte HTTP-Header zu senden. Es wurde allgemein angenommen, dass das Setzen dieser Header über den User-Agent-Parameter von php.ini die einzige Option sei.
Bei einer weiteren Prüfung der Dokumentation zu file_get_contents() wurde jedoch festgestellt, dass HTTP-Header tatsächlich mit gesendet werden können stream_context_create()-Funktion. Hier ist ein Beispiel:
// 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);
Wenn Sie diesem Ansatz folgen, können Sie jetzt benutzerdefinierte HTTP-Header mit file_get_contents() senden. Es ist wichtig zu beachten, dass diese Methode nicht umfassend getestet wurde, sodass je nach den spezifischen Headern und Serverkonfigurationen Probleme auftreten können.
Das obige ist der detaillierte Inhalt vonKann PHPs „file_get_contents()' benutzerdefinierte HTTP-Header senden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!