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

Kann file_get_contents() in PHP benutzerdefinierte HTTP-Header senden?

Mary-Kate Olsen
Freigeben: 2024-12-10 05:42:12
Original
524 Leute haben es durchsucht

Can file_get_contents() in PHP Send Custom HTTP Headers?

Anpassen von HTTP-Headern mit file_get_contents()

PHPs file_get_contents()-Funktion ist ein vielseitiges Tool zum Abrufen von Webressourcen. Es wird häufig mit eingeschränkten Optionen verwendet, sodass Benutzer sich über die volle Leistungsfähigkeit wundern. Insbesondere das Senden benutzerdefinierter HTTP-Header mit file_get_contents() war Gegenstand von Debatten.

Ist das möglich?

Ja, es ist möglich, benutzerdefinierte HTTP-Header zu senden mit file_get_contents(). Dies kann erreicht werden, indem mit stream_context_create() ein Stream-Kontext erstellt und die gewünschten Header in der http-Option festgelegt werden.

// Create a stream context with custom headers
$opts = [
    "http" => [
        "method" => "GET",
        "header" => "Accept-language: en\r\nCookie: foo=bar\r\n"
    ]
];
$context = stream_context_create($opts);

// Retrieve the web resource using the custom stream context
$file = file_get_contents('http://www.example.com/', false, $context);
Nach dem Login kopieren

In diesem Beispiel setzen wir die Header „Accept-Language“ und „Cookie“. Sie können jedoch nach Bedarf beliebige gültige HTTP-Header hinzufügen.

Alternative Ansätze

Während file_get_contents() mit einem benutzerdefinierten Stream-Kontext eine praktikable Option ist, stehen alternative Funktionen zum Senden benutzerdefinierter HTTP-Header zur Verfügung.

  • curl_init(): Bietet mehr Detaillierte Kontrolle über HTTP-Anfragen, einschließlich der Möglichkeit, benutzerdefinierte Header festzulegen.
  • fopen() mit $protocol == 'http:': Erstellt eine HTTP-Stream-Ressource, die eine Header-Manipulation ermöglicht.

Die Wahl der zu verwendenden Funktion hängt von den spezifischen Anforderungen und Vorlieben Ihres Projekts ab.

Das obige ist der detaillierte Inhalt vonKann file_get_contents() in PHP benutzerdefinierte HTTP-Header senden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage