file_get_contents("php://input") 或 $HTTP_RAW_POST_DATA,哪一个更适合获取 JSON 请求的正文?

2022-01-15 00:00:00 json xmlhttprequest php

file_get_contents("php://input")$HTTP_RAW_POST_DATA - 哪一个更适合获取 JSON 请求的正文?

file_get_contents("php://input") or $HTTP_RAW_POST_DATA - which one is better to get the body of JSON request?

当使用客户端 XmlHTTPRequest 时,我应该使用哪种请求类型(GETPOST)来发送 JSON 数据?

And which request type (GET or POST) should I use to send JSON data when using client side XmlHTTPRequest?

我的问题是从这个答案中得到启发的:如何使用 curl 将 JSON 发布到 PHP

My question was inspired from this answer: How to post JSON to PHP with curl

引用该答案:

从协议的角度来看,file_get_contents("php://input") 实际上更正确,因为您实际上并没有真正处理 http 多部分表单数据.

From a protocol perspective file_get_contents("php://input") is actually more correct, since you're not really processing http multipart form data anyway.

推荐答案

其实php://input可以让你读取原始请求体.

Actually php://input allows you to read raw request body.

它是 $HTTP_RAW_POST_DATA 的内存密集型替代方案,不需要任何特殊的 php.ini 指令.来自 参考

php://input 不适用于 enctype=multipart/form-data".

相关文章