首頁 > 後端開發 > php教程 > 如何使用 PHP cURL 正確 POST JSON 資料?

如何使用 PHP cURL 正確 POST JSON 資料?

Barbara Streisand
發布: 2024-12-23 12:52:16
原創
573 人瀏覽過

How to Correctly POST JSON Data Using PHP cURL?

如何使用 PHP cURL 發布 JSON 資料?

這個問題解決了使用 PHP 的 cURL 函式庫發布 JSON 資料的問題。使用者提供旨在將 POST 資料傳送到特定 URL 的程式碼片段。但是,程式碼無法檢索接收頁面上發布的數據,導致數組為空。

問題詳細資訊

問題在於 JSON 資料的發布方式不正確。此外,程式碼使用 print_r($_POST) 來檢索發布的數據,這不是建議的方法。

解決方案

要使用 cURL 正確發布 JSON 數據,必須確保數據已正確進行 JSON 編碼。在給定的程式碼片段中,只有「customer」POST 欄位的值是 JSON 編碼的。相反,整個 POST 資料應該是 JSON 編碼的。

此外,要檢索接收頁面上發布的數據,您可以使用 file_get_contents("php://input") 函數,該函數將包含發布了 JSON 數據。

範例程式碼

這裡是如何使用PHP 正確發布JSON 資料的範例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
"; ?>
登入後複製

注意

此外,使用者表達了按照Shopify的API 規範使用JSON 實現REST 的意圖。值得一提的是,強烈建議使用專為與 Shopify API 互動而設計的第三方程式庫,因為它可以簡化流程並減少潛在錯誤。

以上是如何使用 PHP cURL 正確 POST JSON 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板