您好,登錄后才能下訂單哦!
這篇文章主要介紹了PHP使用Http Post請求發送Json對象數據的案例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
因項目的需要,PHP調用第三方 Java/.Net 寫好的 Restful Api,其中有些接口,需要 在發送 POST 請求時,傳入對象。
Http中傳輸對象,最好的表現形式莫過于JSON字符串了,但是作為參數的接收方,又是需要被告知傳過來的是JSON!
其實這不難,只需要發送一個 http Content-Type頭信息即可,即 “Content-Type: application/json; charset=utf-8”,參考代碼如下:
<?php /** * PHP發送Json對象數據 * * @param $url 請求url * @param $jsonStr 發送的json字符串 * @return array */ function http_post_json($url, $jsonStr) { $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json; charset=utf-8', 'Content-Length: ' . strlen($jsonStr) ) ); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return array($httpCode, $response); } $url = "http://52php.cnblogs.com"; $jsonStr = json_encode(array('a' => 1, 'b' => 2, 'c' => 2)); list($returnCode, $returnContent) = http_post_json($url, $jsonStr);
API服務端端接收客戶端傳過來的 “Content-Type: application/json; charset=utf-8”頭信息后,再將 http body 數據(即 Json字符串)轉換成 類對象!
感謝你能夠認真閱讀完這篇文章,希望小編分享的“PHP使用Http Post請求發送Json對象數據的案例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。