Heim >Backend-Entwicklung >PHP-Tutorial >Wie sende ich POST-Anfragen und rufe Antworten in PHP ohne cURL ab?

Wie sende ich POST-Anfragen und rufe Antworten in PHP ohne cURL ab?

DDD
DDDOriginal
2024-12-29 01:55:09703Durchsuche

How to Send POST Requests and Retrieve Responses in PHP Without cURL?

Senden von POST-Anfragen mit PHP

Wenn Sie auf Endpunkte stoßen, die nur POST-Methoden akzeptieren, kann es schwierig sein, auf die resultierenden Inhalte zuzugreifen und diese zu lesen. In diesem Artikel wird eine praktische Methode zum Senden von POST-Anfragen und zum Abrufen der Serverantwort mithilfe von PHP untersucht.

CURL-lose Methode:

Für Szenarien, in denen CURL keine praktikable Option ist , bietet die folgende Lösung, die die native Funktion file_get_contents() von PHP verwendet, eine Alternative:

$url = 'http://server.com/path';
$data = ['key1' => 'value1', 'key2' => 'value2'];

// Specify HTTP method and headers
$options = [
    'http' => [
        'header' => "Content-type: application/x-www-form-urlencoded\r\n",
        'method' => 'POST',
        'content' => http_build_query($data),
    ],
];

// Create stream context with POST data
$context = stream_context_create($options);

// Send POST request and retrieve response
$result = file_get_contents($url, false, $context);
if ($result === false) {
    // Handle error
}

var_dump($result);

Dieser Ansatz erstellt eine HTTP-Stream-Kontext mithilfe der bereitgestellten Optionen und sendet eine POST-Anfrage an die angegebene URL. Die Antwort des Servers wird dann in der Variablen $result gespeichert und bietet Zugriff auf deren Inhalt zur weiteren Verarbeitung mit Methoden wie DOMDocument oder file_get_contents().

Weitere Informationen zur Erstellung und Anpassung von Stream-Kontexten finden Sie im PHP-Handbuch :

  • stream_context_create: https://www.php.net/manual/en/function.stream-context-create.php

Das obige ist der detaillierte Inhalt vonWie sende ich POST-Anfragen und rufe Antworten in PHP ohne cURL ab?. 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