以前一直在写一些网站,很少涉及到接口的东西。最近公司在做一个平台,需要往接口上发送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一下就可以得到对象格式的数据了。