PHP如何通过Post请求发送Json数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP如何通过Post请求发送Json数据相关的知识,希望对你有一定的参考价值。
php中弄通过CURL在POST里发生JSON
首先要把数据转换成json格式,再通过curl方法调用接口并传参数
代码如下:
$keyword = urlencode($_POST['keyword']);$parameters = json_encode(array('keyWord'=>$keyword,'areaCode'=>'*'));
$post_data['appToken'] = "323ds7674354fds32fdsda60173";//随便写的
$post_data['parameters'] = $parameters;
$url = 'http://serde.com/compadddvd/index';//随便写的
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);//用post方法传送参数
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
之后就返回数据即可。
参考技术A 前端通过ajax发起post请求 后端查询到结果后使用json_decode()把数据转成json格式后 return返回 前端就可以通过回调函数拿到json数据PHP如何接收json数据
以前一直在写一些网站,很少涉及到接口的东西。最近公司在做一个平台,需要往接口上发送json数据。闲话少叙,直接上干货。
在php中可以通过如下方式获取:
file_get_contents("php://input");
分析:
php做网页的表单提交
早年网页表单的提交,都是用$_POST获取请求参数,实际上在http请求头中是用kv值的形式存在,如:
php在接收到这种请求的时候,php底层系统会将这种字符串解析并存放进$_POST变量中,所以在php中就可以通过$_POST获取这些参数。
上传文件http请求头
Content-Type变成了multipart/form-data格式,这种格式的数据获取在php底层也做了处理,普通的非文件参数一样可以通过$_POST获取,文件参数可以通过$_FILES获取。
php获取json格式数据
json格式的数据指的的http头body的字符串是一个json格式的字符串。这个在PHP中无法通过$_POST取到,php底层没有对这种方式进行处理。获取到body内的数据后,直接json_decode一下就可以得到对象格式的数据了。
以上是关于PHP如何通过Post请求发送Json数据的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 HttpClient 在 POST 请求中将 JSON 数据作为正文发送