Heim > Backend-Entwicklung > PHP-Tutorial > Wie poste ich JSON-Daten korrekt mit PHP cURL?

Wie poste ich JSON-Daten korrekt mit PHP cURL?

Barbara Streisand
Freigeben: 2024-12-23 12:52:16
Original
517 Leute haben es durchsucht

How to Correctly POST JSON Data Using PHP cURL?

Wie poste ich JSON-Daten mit PHP cURL?

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.

Problemdetails

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.

Lösung

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.

Beispielcode

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
"; ?>
Nach dem Login kopieren

Hinweis

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage