Heim >Backend-Entwicklung >PHP-Tutorial >Warum schlägt file_get_contents() fehl und wie kann cURL den Fehler „HTTP-Anfrage fehlgeschlagen' beheben?

Warum schlägt file_get_contents() fehl und wie kann cURL den Fehler „HTTP-Anfrage fehlgeschlagen' beheben?

Linda Hamilton
Linda HamiltonOriginal
2024-12-10 07:41:13295Durchsuche

Why Does file_get_contents() Fail and How Can cURL Fix

PHP-Fehler file_get_contents() „HTTP-Anfrage fehlgeschlagen“ wird behoben

Beim Versuch, file_get_contents() zum Abrufen von Inhalten von einer angegebenen URL zu verwenden, Bei Benutzern kann der Fehler auftreten: „Warnung: file-get-contents() konnte den Stream nicht öffnen: HTTP-Anfrage fehlgeschlagen! HTTP/1.1 202.“ Akzeptiert.“ Dieser Fehler tritt auf, wenn die HTTP-Anfrage nicht erfolgreich ausgeführt werden kann.

Um dieses Problem zu beheben, besteht ein alternativer Ansatz darin, die cURL-Erweiterung zu verwenden. cURL bietet eine bessere Kontrolle über HTTP-Anfragen und ermöglicht zusätzliche Konfigurationsoptionen. Hier ist ein modifizierter Codeausschnitt mit cURL:

<?php

$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, 'http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name');
$query = curl_exec($curl_handle);
curl_close($curl_handle);

?>

In dieser modifizierten Version nutzen wir cURL-Funktionen, um die HTTP-Anfrage zu initiieren. Wir definieren ein Curl-Handle und legen verschiedene Optionen fest:

  • CURLOPT_URL: Gibt die Ziel-URL an.
  • CURLOPT_CONNECTTIMEOUT: Legt ein Timeout für fest Festlegung der Verbindung.
  • CURLOPT_RETURNTRANSFER: Gibt an, dass die Ausgabe als Zeichenfolge zurückgegeben werden soll.
  • CURLOPT_USERAGENT: Legt einen benutzerdefinierten Benutzeragenten für die Anfrage fest.

Durch die Verwendung von cURL erhalten wir eine genauere Kontrolle über die HTTP-Anfrage und kann den bei file_get_contents() aufgetretenen Fehler „HTTP-Anfrage fehlgeschlagen“ effektiv beheben.

Das obige ist der detaillierte Inhalt vonWarum schlägt file_get_contents() fehl und wie kann cURL den Fehler „HTTP-Anfrage fehlgeschlagen' beheben?. 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