Heim >Backend-Entwicklung >PHP-Tutorial >Wie sende ich POST-Anfragen und rufe Antworten in PHP ohne cURL ab?
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 :
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!