溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP使用Http Post請求發(fā)送Json對象數(shù)據(jù)的案例分析

發(fā)布時間:2021-03-06 10:26:09 來源:億速云 閱讀:263 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了PHP使用Http Post請求發(fā)送Json對象數(shù)據(jù)的案例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

因項目的需要,PHP調(diào)用第三方 Java/.Net 寫好的 Restful Api,其中有些接口,需要 在發(fā)送 POST 請求時,傳入對象。

Http中傳輸對象,最好的表現(xiàn)形式莫過于JSON字符串了,但是作為參數(shù)的接收方,又是需要被告知傳過來的是JSON!

其實這不難,只需要發(fā)送一個 http Content-Type頭信息即可,即 “Content-Type: application/json; charset=utf-8”,參考代碼如下:

<?php
/**
 * PHP發(fā)送Json對象數(shù)據(jù)
 *
 * @param $url 請求url
 * @param $jsonStr 發(fā)送的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服務(wù)端端接收客戶端傳過來的 “Content-Type: application/json; charset=utf-8”頭信息后,再將 http body 數(shù)據(jù)(即 Json字符串)轉(zhuǎn)換成 類對象!

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“PHP使用Http Post請求發(fā)送Json對象數(shù)據(jù)的案例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI