Diese Frage befasst sich mit dem Problem der Veröffentlichung von JSON-Daten mithilfe der cURL-Bibliothek von PHP. Der Benutzer stellt einen Codeausschnitt bereit, der darauf abzielt, POST-Daten an eine bestimmte URL zu senden. Allerdings kann der Code die geposteten Daten auf der Empfangsseite nicht abrufen, was zu einem leeren Array führt.
Das Problem liegt in der falschen Art und Weise, wie die JSON-Daten gepostet werden. Darüber hinaus verwendet der Code print_r($_POST), um die veröffentlichten Daten abzurufen, was nicht die empfohlene Methode ist.
Um JSON-Daten mithilfe von cURL korrekt zu veröffentlichen, muss dies unbedingt sichergestellt werden Die Daten sind ordnungsgemäß JSON-codiert. Im angegebenen Codeausschnitt ist nur der Wert des POST-Felds „Kunde“ JSON-codiert. Stattdessen sollten die gesamten POST-Daten JSON-codiert sein.
Zusätzlich können Sie zum Abrufen der geposteten Daten auf der empfangenden Seite die Funktion file_get_contents("php://input") verwenden, die die enthält Gepostete JSON-Daten.
Hier ist ein Beispiel dafür, wie JSON-Daten mit PHP korrekt gepostet werden cURL:
<?php $url = 'url_to_post'; $data = [ "first_name" => "First name", "last_name" => "last name", "email" => "email@example.com", "addresses" => [ "address1" => "some address", "city" => "city", "country" => "CA", "first_name" => "Mother", "last_name" => "Lastnameson", "phone" => "555-1212", "province" => "ON", "zip" => "123 ABC", ], ]; $data_string = json_encode($data); $ch = curl_init($url); # Setup request to send json via POST. curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type:application/json']); # Return response instead of printing. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); # Send request. $result = curl_exec($ch); curl_close($ch); # Print response. echo "<pre class="brush:php;toolbar:false">$result"; ?>
Darüber hinaus bringt der Benutzer seine Absicht zum Ausdruck, REST mithilfe von JSON gemäß den API-Spezifikationen von Shopify zu implementieren. Es ist erwähnenswert, dass die Verwendung einer Drittanbieter-Bibliothek, die speziell für die Anbindung an die Shopify-API entwickelt wurde, dringend empfohlen wird, da sie den Prozess vereinfachen und potenzielle Fehler reduzieren kann.
Das obige ist der detaillierte Inhalt vonWie poste ich JSON-Daten korrekt mit PHP cURL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!