博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接口开发注意传参问题
阅读量:5086 次
发布时间:2019-06-13

本文共 1625 字,大约阅读时间需要 5 分钟。

1 接口开发注意传参问题: 2  3     php中的curl()函数进行post请求的时候,传递数据的格式可以有以下几种方式: 4  5     (1):由参数拼接而成的key=>value键值对字符串。形如以下: name=xxx&age=23$sex=1 6  7     这种请求参数默认是按照application/x-www-form-urlencoded进行编码的。 8  9     (2):由参数组成的key=>value键值对数组(只能是一维数组,更高维度的数组会报错)。10 11     形如以下格式:12     [ name="xxx" , age = 23 , sex = 男 ]13  有两种方式可以来处理:14      1.将多维数组进行http_build_query()进行处理,等到一个key=>value键值对格式的字符串。15      $data = [16                   "msg"=>"这是一条测试数据",17                   "xxx" => "yyyy",18                   "msg_data" => [19                                   "name"=>"sui",20                                   "age"=>99,21                                   "sex"=>"男",22                                   "content"=>[23                                          1,2,324                                         ]25                                ],26                ];27           $str =http_build_query($data);28 这种方式也是通过application/x-www-form-urlencoded进行编码的,在接收方可以通过$_POST直接获取。29     2.将多维数组转换为json格式的字符串,对字符串进行application/json格式编码,在接收方通过file_get_contents(“php://input”)或者$GLOBALS[‘HTTP_RAW_POST_DATA']的方式获取传递过来的json格式的字符串,然后将json格式的字符串转换为数组进行处理。30         $data = [];31         $data_string = json_encode($data);32         .....33         //设置header信息34         curl_setopt($ch, CURLOPT_HTTPHEADER, array(35                        'Content-Type: application/json',36                        'Content-Length: ' . strlen($data_string))37               );38 注意:对于application/json格式编码的数据,$_POST是不能直接获取的,需要通过file_get_contents(“php://input”)或者$GLOBALS[‘HTTP_RAW_POST_DATA']的方式获取。39

 

转载于:https://www.cnblogs.com/boundless-sky/p/6261386.html

你可能感兴趣的文章
myeclipse集成jdk、tomcat8、maven、svn
查看>>
查询消除重复行
查看>>
Win 10 文件浏览器无法打开
查看>>
HDU 1212 Big Number(C++ 大数取模)(java 大数类运用)
查看>>
-bash: xx: command not found 在有yum源情况下处理
查看>>
[leetcode]Minimum Path Sum
查看>>
内存管理 浅析 内存管理/内存优化技巧
查看>>
hiho1079 线段树区间改动离散化
查看>>
【BZOJ 5222】[Lydsy2017省队十连测]怪题
查看>>
第二次作业
查看>>
【input】 失去焦点时 显示默认值 focus blur ★★★★★
查看>>
Java跟Javac,package与import
查看>>
day-12 python实现简单线性回归和多元线性回归算法
查看>>
Json格式的字符串转换为正常显示的日期格式
查看>>
[转]使用 Razor 进行递归操作
查看>>
[转]Android xxx is not translated in yyy, zzz 的解决方法
查看>>
docker入门
查看>>
Android系统--输入系统(十一)Reader线程_简单处理
查看>>
监督学习模型分类 生成模型vs判别模型 概率模型vs非概率模型 参数模型vs非参数模型...
查看>>
Mobiscroll脚本破解,去除Trial和注册时间限制【转】
查看>>