天天看点

php post contenttype,一文弄懂POST提交的Content-Type值。

1. 概述

本文主要整理了POST提交数据到API时Content-Type的使用。

2. 脑图

php post contenttype,一文弄懂POST提交的Content-Type值。

3. multipart/form-data

将FORM表单数据使用指定的分割字符(boundary)组装成一个字符串提交,可用于提交二进制数据,如上传文件。

请求头加入: Content-Type: multipart/form-data; boundary=尽量长的分割字符串。

请求方式如下:

php post contenttype,一文弄懂POST提交的Content-Type值。

PHP端接收数据方式: 使用 $_POST 变量接收。如下:

php post contenttype,一文弄懂POST提交的Content-Type值。

4. application/x-www-form-urlencode

将FORM表单数据使用urlencode编码,然后用&连接,组装成k1=v1&k2=v2格式字符串提交,对于提交大量二进制数据比较低效。

请求头加入:Content-Type: application/x-www-form-urlencode。

请求方式如下:

php post contenttype,一文弄懂POST提交的Content-Type值。

PHP端接收数据方式:1). 使用 $_POST 变量 2). 使用 file_get_contents("php://input") 方法,然后用parse_str函数解析

php post contenttype,一文弄懂POST提交的Content-Type值。

5. application/json

告知服务端POST提交的是JSON字符串。

请求头加入:Content-Type: application/json。

请求方式如下:

php post contenttype,一文弄懂POST提交的Content-Type值。

PHP端接收数据方式:使用 file_get_contents("php://input") 方法,然后用json_decode函数解析

php post contenttype,一文弄懂POST提交的Content-Type值。

6. text/plain

告知服务端JSON提交的是文本字符串。

请求头加入:Content-Type: text/plain。

请求方式如下:

php post contenttype,一文弄懂POST提交的Content-Type值。

PHP端接收数据方式:使用 file_get_contents("php://input") 方法

php post contenttype,一文弄懂POST提交的Content-Type值。

总结文件上传用multipart/form-data类型,然后用$_FILES和$_POST接收参数。

通用接口用application/x-www-form-urlencode类型,然后用$_POST或file_get_contents("php://input")接受参数。

只接受JSON字符串的接口用application/json类型,然后用file_get_contents("php://input")接受参数。