设定我们发送的数据为:

usernameadmin
password123456

form-data

form-data发送的数据,请求的ContentType是以下内容:

Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryC9HBfJBUOivu2WEP

后面的boundary就规定了分界线是:----WebKitFormBoundaryC9HBfJBUOivu2WEP
发送的内容格式如下:

------WebKitFormBoundaryC9HBfJBUOivu2WEP
Content-Disposition: form-data; name="username"

admin
------WebKitFormBoundaryC9HBfJBUOivu2WEP
Content-Disposition: form-data; name="password"

123456
------WebKitFormBoundaryC9HBfJBUOivu2WEP--

这个时候php://input是拿不到该内容的,$_POST可以获取。

x-www-form-urlencoded

如果选择了x-www-form-urlencoded,发送的值是:

username=admin&password=123456

php://input$_POST均能接收到此请求传来的值

php://input还可以获取Content-Typetext/html方式发送过来的数据。

$GLOBALS['HTTP_RAW_POST_DATA']

这种获取请求内容的方式,已经过时了,PHP5.6之后就弃用了。


CRStudio
115 声望4 粉丝