php通過curl進行json資料傳輸

2021-07-16 04:41:50 字數 1841 閱讀 7641

由於php curl 資料傳輸對多維資料貌似不支援,簡單的辦法就是講多維陣列轉化為json操作

$data['author'] = $this->getpost('author');

$data['article_category'] = $this->getpost('categroy');

$data['image'] = $this->getpost('thumb');

$data['image_2'] = $this->getpost('image');

$data['status'] = 1;

$data['allow_comment'] = 0;

$data['sort_order'] = 0;

$data['article_store'] = array('0');

$data['article_description']['2'] = array(

'name' => $this->getpost('title'),

'tag' => $this->getpost('tags'),

'title' => $this->getpost('description'),

'meta_keyword' => $this->getpost('tags'),

'meta_description' => $this->getpost('description'),

'content' => $content,

);$url = 'index.php?route=article/api';

$curl = curl_init();

curl_setopt($curl, curlopt_url, $url);

curl_setopt($curl, curlopt_ssl_verifypeer, false);

curl_setopt($curl, curlopt_ssl_verifyhost, false);

if (!empty($data))

curl_setopt($curl, curlopt_returntransfer, 1);

//獲取json格式的返回結果

$output = curl_exec($curl);

curl_close($curl);

//對結果進行json解析

$output = json_decode($output,true);

// 由於php 的post預設不支援接受json資料格式,我們可以採用$globals['http_raw_post_data']來回去post資料

//如果不是post訪問,報錯

if ($this->request->server['request_method'] != 'post')

elseif (($this->request->server['request_method'] == 'post') && $this->validateform_api($post)) }else else

$data['info'] = false;

}//對返回值進行json編碼並輸出

echo json_encode($data);

關鍵點1:curl不支援多維資料,要講陣列轉化為json格式傳輸

關鍵點2:curl傳輸json需要額外定義資料傳輸格式

關鍵點3:通過 $globals[『http_raw_post_data』] 獲取post過來的json資料

php 通過curl從url獲取JSON資料

我試圖通過curl連線從url獲取json資料.當我開啟鏈結時 它顯示.現在,我希望獲得以上內容.到目前為止我使用了這個 loginurl ch curl init curl setopt ch,curlopt ssl verifypeer,false curl setopt ch,curlopt ...

php 通過curl上傳檔案

php 通過curl 上傳檔案 fh fopen usr local share icon link.png r curl setopt ch,curlopt put,true curl setopt ch,curlopt infile,fh curl setopt ch,curlopt infil...

通過Curl 對url進行encode操作

最近做專案的時候,通過 gflags reload 時候 發現對於某些value中包含 中文等字元的支援不夠好,value被截斷了。經過分析後,發現程式對url切分是用 為標準的,如果value中帶有這樣的特殊字元,必然導致截斷。解決的方法也很簡單,框架預設對value進行進行了urldecode的...