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
Freigeben: 2024-12-24 12:16:11
Original
401 Leute haben es durchsucht

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);
Nach dem Login kopieren

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!

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