日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php curl json post请求_php post请求发送json对象数据参数

發(fā)布時間:2025/3/11 php 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php curl json post请求_php post请求发送json对象数据参数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

網(wǎng)頁中發(fā)送請求時,大部分情況都參數(shù)以鍵值組合發(fā)送數(shù)據(jù)的,而一些第三方如java開發(fā)的接口中需要發(fā)送post請求,請求參數(shù)為json類型。

既然要發(fā)送json數(shù)據(jù),首頁我們需要在請求頭中定義數(shù)據(jù)類型為json,告訴服務(wù)器客服端發(fā)送過來的數(shù)據(jù)類型為json,設(shè)置請求頭內(nèi)容類型:Content-Type: application/json; charset=utf-8

php發(fā)送post請求的json參數(shù)代碼,curl實現(xiàn):<?php

//如果接口返回的數(shù)據(jù)為json,這里需要先定義數(shù)據(jù)類型為json

header("Content-type:application/json;charset=utf-8");

$url?=?"http://zixuephp.net";

$data?=?array('a'=>'test1','b'=>'test2','c'=>array('1','2','3'));

//這里需要注意的是這里php會自動對json進行編碼,而一些java接口不自動解碼情況(中文)

//$json_data?=?json_encode($data,JSON_UNESCAPED_UNICODE);

$json_data?=?json_encode($data);

//curl方式發(fā)送請求

$ch?=?curl_init();

//設(shè)置請求為post

curl_setopt($ch,?CURLOPT_POST,?1);

//請求地址

curl_setopt($ch,?CURLOPT_URL,?$url);

//json的數(shù)據(jù)

curl_setopt($ch,?CURLOPT_POSTFIELDS,?$json_data);

curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?1);

//顯示請求頭

//curl_setopt($ch,?CURLOPT_HEADER,?1);

curl_setopt($ch,?CURLINFO_HEADER_OUT,?true);

//請求頭定義為json數(shù)據(jù)

curl_setopt($ch,?CURLOPT_HTTPHEADER,?array(

'Content-Type:application/json;charset=utf-8',

'Content-Length:?'.strlen($jsonStr)

)

);

$response?=?curl_exec($ch);

//echo?curl_getinfo($ch,?CURLINFO_HTTP_CODE);

//echo?curl_getinfo($ch,?CURLINFO_HEADER_OUT);

curl_close($ch);

//var_dump($response;)

echo?$response;

php發(fā)送post請求json數(shù)據(jù),curl函數(shù)的實現(xiàn)。同理,也可以使用file_get_contents函數(shù)進行實現(xiàn)post請求,也能實現(xiàn)上面的功能。

php接收post請求json參數(shù)代碼,不能再用$_POST方式接收,會接收不到數(shù)據(jù),因為現(xiàn)在的內(nèi)容類型是Content-Type:application/json;charset=utf-8,使用$_POST接收的類型為application/x-www-form-urlencoded或multipart/form-data類型://接收post請求來的json數(shù)據(jù)

$data?=?file_get_contents('php://input');

//json轉(zhuǎn)php數(shù)組

$data?=?json_decode($data,?true);

var_dump($data);

總結(jié)

以上是生活随笔為你收集整理的php curl json post请求_php post请求发送json对象数据参数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。