Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich HTTP-POST-Daten mit file_get_contents() in PHP senden?

Wie kann ich HTTP-POST-Daten mit file_get_contents() in PHP senden?

Barbara Streisand
Barbara StreisandOriginal
2024-12-24 12:16:11409Durchsuche

How Can I Submit HTTP POST Data Using file_get_contents() in PHP?

HTTP-POST-Datenübermittlung mit file_get_contents()

Herausforderung:

Viele URLs erfordern Daten Posten zur Interaktion, z. B. Anmeldeseiten. Die Funktion file_get_contents() unterstützt jedoch nicht von Natur aus die Übermittlung von Daten.

Lösung:

Um dieses Problem zu beheben, verwendet PHP Stream-Kontexte, die die Übermittlung von HTTP-POST-Daten ermöglichen innerhalb file_get_contents().

Implementierung:

Mithilfe von Stream-Kontexten können Sie das Anforderungsverhalten konfigurieren:

$postdata = http_build_query(
    ['var1' => 'some content', 'var2' => 'doh']
);

$opts = [
    'http' => [
        'method'  => 'POST',
        'header'  => 'Content-Type: application/x-www-form-urlencoded',
        'content' => $postdata
    ]
];

$context = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

In diesem Beispiel:

  • $postdata enthält die zu erstellenden Daten übermittelt.
  • $opts definiert die Stream-Optionen, einschließlich der POST-Methode, der entsprechenden Header und der Datennutzlast.
  • $context ist der Stream-Kontext, der mit den angegebenen Optionen erstellt wurde.
  • file_get_contents() ruft die Antwort mithilfe des benutzerdefinierten Kontexts ab.

Alternative Methode:

Erwägen Sie alternativ die Verwendung von cURL, das umfangreichere Anpassungsoptionen bietet und häufig für die Verarbeitung von HTTP-POST-Anfragen verwendet wird.

Das obige ist der detaillierte Inhalt vonWie kann ich HTTP-POST-Daten mit file_get_contents() in PHP 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