日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

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

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

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

php發送post請求的json參數代碼,curl實現:<?php

//如果接口返回的數據為json,這里需要先定義數據類型為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方式發送請求

$ch?=?curl_init();

//設置請求為post

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

//請求地址

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

//json的數據

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數據

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發送post請求json數據,curl函數的實現。同理,也可以使用file_get_contents函數進行實現post請求,也能實現上面的功能。

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

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

//json轉php數組

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

var_dump($data);

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。