php 用curl 进行数据post给接口,如何将数据存放至body中传递

hykeda3年前PHP2102

有个项目,将数据推送至接口文件,代码入下:

$headers[]  =  "Accept:application/json";
$headers[]  =  "Authorization: Bearer ". $accessToken;
$ch
= curl_init() or die (curl_error());//打开
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($arr));
curl_setopt( $ch, CURLOPT_HTTPHEADER, $header );
$response = curl_exec($ch);
curl_close($ch);//关闭

其中$arr是需要提交的数组数据,比如:

$arr['name'] = '123';

这样访问后,接口出无法从body中获取到数据。然后修改代码:

$headers[]  =  "Accept:application/json";
$headers[]  =  "Authorization: Bearer ". $accessToken;
$headers[]  = "Content-Type:application/json";
$ch
= curl_init() or die (curl_error());//打开
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arr));
if
( !empty($header) ){
   curl_setopt(
$ch, CURLOPT_HTTPHEADER, $header );
}
$response = curl_exec($ch);
curl_close($ch);//关闭

头部添加content-type为json,提交数据这边把数据改成json提交。对方接口成功从body中获取到数据

标签: CURLbodyphp

相关文章

PHP限制ip以及IP段是否允许访问,以及对ip子网的理解

php 如何限制ip访问:// 判断ip是否被允许 function isIpBlocked($clientIP,$blockedIPs) {   ...

查找附近geohash算法及实现 (PHP版本)

随着移动终端的普及,很多应用都基于LBS功能,附近的某某(餐馆、银行、妹纸等等)。 基础数据中,一般保存了目标位置的经纬度;利用用户提供的经纬度,进行对比,从而获得是否在附近。 目标:...

phpstudy提示错误:cURL error 60 配置SSL CA证书

phpstudy配置SSL CA证书本地Windows环境, phpstudy 集成 php7 后,出现错误提示:cURL error 60: SSL certificate pr...

discuzX3.2 用户注册接口代码

新建一个php文件在根目录,例:test.php test.php 具体内容: error_reporting(0); require_once './source/class/clas...

php导出EXCEL出现错误解决方法

由于数据量不多的增多,最近出现了导出excel的时候报错:Allowed memory size of 134217728 bytes exhausted (tried to allocate 114...

composer使用phpstudy的php环境,如果改变php版本如何处理

        首先安装composer后,先在系统的环境变量中添加php路径,比如之前的路径:C:\zhangsan\...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。