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

Wie kann ich HTTP-POST-Daten mit PHPs „file_get_contents()' senden?

DDD
DDDOriginal
2024-12-20 11:57:09753Durchsuche

How Can I Send HTTP POST Data Using PHP's `file_get_contents()`?

HTTP-POST-Datenübertragung mit PHPs file_get_contents()

Beim Versuch, URL-Inhalte mit der PHP-Funktion file_get_contents() abzurufen, sind möglicherweise bestimmte URLs erforderlich Datenbuchung. Um diesen Bedarf zu erfüllen, kann man den Parameter „stream_context“ verwenden.

Um den erforderlichen Stream-Kontext zu erstellen, führen Sie die folgenden Schritte aus:

  1. Daten initialisieren: Definieren Sie eine Array mit zu veröffentlichenden Schlüssel-Wert-Datenpaaren (z. B. ['var1' => 'some content']).
  2. Assemble-Parameter: Erstellen Sie ein Array mit „http“ als Schlüssel, das ein Array von Optionen enthält, einschließlich „Methode“ (auf „POST“ gesetzt) ​​und „Header“. ' (Angabe des Inhaltstyps) und 'content' (aufgefüllt mit dem Datenarray).
  3. Stream-Kontext einrichten: Aufruf stream_context_create() mit dem Parameter-Array als Argument zum Generieren des Stream-Kontexts.
  4. POST-Anfrage ausführen: Rufen Sie file_get_contents() mit der Ziel-URL auf und geben Sie den Stream-Kontext als drittes Argument an. Dadurch wird die HTTP-POST-Anfrage initiiert und die Antwort abgerufen.

Beispielcode:

$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);

Durch die Implementierung dieser Schritte können Sie HTTP-POST-Daten effektiv übermitteln mit file_get_contents(). Während Curl mehr Möglichkeiten bietet, stellen die Streams von PHP eine weniger bekannte, aber ebenso leistungsstarke Alternative für HTTP-POST-Operationen dar.

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