Heim >Backend-Entwicklung >PHP-Tutorial >Kann PHPs „file_get_contents()' benutzerdefinierte HTTP-Header senden?

Kann PHPs „file_get_contents()' benutzerdefinierte HTTP-Header senden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-28 08:30:11404Durchsuche

Can PHP's `file_get_contents()` Send Custom HTTP Headers?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn