Heim >Backend-Entwicklung >PHP-Tutorial >Wie führe ich eine HTTP-POST-Anfrage mit PHP cURL durch?

Wie führe ich eine HTTP-POST-Anfrage mit PHP cURL durch?

Linda Hamilton
Linda HamiltonOriginal
2024-12-29 20:47:18610Durchsuche

How to Perform an HTTP POST Request Using PHP cURL?

PHP-cURL-HTTP-POST-Beispiel

Bei der Arbeit mit Webanwendungen ist es oft notwendig, HTTP-Anfragen an Remote-Server zu senden. In PHP bietet die cURL-Erweiterung eine leistungsstarke und vielseitige Möglichkeit, dies zu erreichen. Dieser Artikel zeigt, wie man einen HTTP POST mit PHP cURL durchführt.

Problemstellung

Angenommen, wir möchten die folgenden Daten an www.example.com senden:

username=user1, password=passuser1, gender=1

Die erwartete Antwort vom Server ist „result=OK“.

PHP cURL-Lösung

Um eine HTTP-POST-Anfrage mit PHP cURL zu senden, befolgen Sie diese Schritte:

  1. Initialisieren Sie eine cURL-Sitzung mit curl_init():
$ch = curl_init();
  1. Legen Sie die URL des Remote-Servers fest curl_setopt():
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/tester.phtml");
  1. Geben Sie mit CURLOPT_POST an, dass es sich um eine HTTP-POST-Anfrage handelt:
curl_setopt($ch, CURLOPT_POST, true);
  1. Erstellen Sie die POST-Daten mit http_build_query() und setze es mit CURLOPT_POSTFIELDS:
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('postvar1' => 'value1')));
  1. Rufen Sie die Serverantwort mit curl_exec() ab und setzen Sie CURLOPT_RETURNTRANSFER auf true:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec($ch);
  1. Schließen Sie die cURL-Sitzung verwenden curl_close():
curl_close($ch);
  1. Verarbeiten Sie die Serverantwort wie gewünscht:
if ($server_output == "OK") { ... } else { ... }

Codebeispiel

Hier ist ein vollständiges PHP-Beispiel, das die oben genannten Schritte demonstriert:

// A very simple PHP example that sends a HTTP POST to a remote site

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://www.example.com/tester.phtml");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 
          http_build_query(array('postvar1' => 'value1')));

// Receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec($ch);

curl_close($ch);

// Further processing ...
if ($server_output == "OK") { ... } else { ... }

Das obige ist der detaillierte Inhalt vonWie führe ich eine HTTP-POST-Anfrage mit PHP cURL durch?. 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