web-dev-qa-db-de.com

Posten Sie Daten und rufen Sie die Antwort mit PHP Curl?

Ich bin sehr neu in der Arbeit mit Webdiensten und finde das ziemlich verwirrend.

Wenn ich eine URL habe, an die ich JSON-Daten senden möchte, verstehe ich, wie dies mithilfe der CURL PHP -Methode durchgeführt wird.

Was ich mich wundere ist, wenn ich das tue und die URL eine Art Serverantwort hat. Wie bekomme ich diese Antwort in meinem PHP und benutze sie, um verschiedene Aktionen innerhalb des PHP = entsprechend?

Vielen Dank!

-Elliot

26
Elliot

Sie müssen die Option CURLOPT_RETURNTRANSFER auf true setzen.

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);

curl_close($ch);

Die Antwort auf Ihre Anfrage ist in der Variablen $ result verfügbar.

57

Wenn Sie sich auf verschiedene Aktionen für verschiedene HTTP-Antwortcodes beziehen, können Sie Folgendes tun:

$response = curl_exec($req);
$responseInfo = curl_getinfo($req);

$httpResponseCode = $responseInfo['http_code'];
8
dmcnelis

Das Standardverhalten von Curl besteht darin, die Daten, die Sie erhalten, einfach wieder in den Browser zu übertragen. Um es stattdessen in einer Variablen zu erfassen, benötigen Sie:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$txResult = curl_exec($ch);

Sie können auch parse_string für dieses $ txResult verwenden, um es richtig zu formatieren.

5
ayush