主頁(yè) > 知識(shí)庫(kù) > PHP使用Http Post請(qǐng)求發(fā)送Json對(duì)象數(shù)據(jù)代碼解析

PHP使用Http Post請(qǐng)求發(fā)送Json對(duì)象數(shù)據(jù)代碼解析

熱門標(biāo)簽:Linux服務(wù)器 阿里云 電子圍欄 Mysql連接數(shù)設(shè)置 團(tuán)購(gòu)網(wǎng)站 服務(wù)器配置 銀行業(yè)務(wù) 科大訊飛語(yǔ)音識(shí)別系統(tǒng)

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

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

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

?php
/**
 * PHP發(fā)送Json對(duì)象數(shù)據(jù)
 *
 * @param $url 請(qǐng)求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)換成 類對(duì)象!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • php中使用base HTTP驗(yàn)證的方法
  • php基于表單密碼驗(yàn)證與HTTP驗(yàn)證用法實(shí)例
  • php的curl攜帶header請(qǐng)求頭信息實(shí)現(xiàn)http訪問的方法
  • HTTP頭隱藏PHP版本號(hào)實(shí)現(xiàn)過程解析
  • AngularJs的$http發(fā)送POST請(qǐng)求,php無(wú)法接收Post的數(shù)據(jù)問題及解決方案
  • PHP利用curl發(fā)送HTTP請(qǐng)求的實(shí)例代碼
  • php如何獲取Http請(qǐng)求
  • PHP swoole中http_server的配置與使用方法實(shí)例分析
  • PHP如何實(shí)現(xiàn)HTTP驗(yàn)證

標(biāo)簽:江蘇 萍鄉(xiāng) 廣元 衢州 大理 蚌埠 棗莊 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP使用Http Post請(qǐng)求發(fā)送Json對(duì)象數(shù)據(jù)代碼解析》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266