【发布时间】:2012-03-27 13:01:08
【问题描述】:
我的服务器人员禁用了所有套接字功能,并在请求他们启用 CURL 后,我正在与他们协商其他功能。
同时在我的一个代码中,我想从 php://input
读取原始帖子数据我使用 file_get_contents("php://input") 来获取原始帖子数据,但在我的服务器中仅启用了 curl 我无法做到这一点。
所以我想知道如何使用 curl 读取原始发布的数据。
请说出你的想法。
【问题讨论】:
-
curl 用于与远程服务器通信(从 php 脚本的角度来看),它不用于读取 php 脚本/进程本身的流。
-
不能只使用标准的超级全局数组吗?
-
@Ing 来自 php 文档:php://input 是一个只读流,允许您从请求正文中读取原始数据。对于 POST 请求,最好使用 php://input 而不是 $HTTP_RAW_POST_DATA,因为它不依赖于特殊的 php.ini 指令。此外,对于那些默认情况下不填充 $HTTP_RAW_POST_DATA 的情况,与激活 always_populate_raw_post_data 相比,它可能是一种内存密集度较低的替代方案。 php://input 不适用于 enctype="multipart/form-data"。
-
是的,但我的意思是 $_POST 不是 $HTTP_RAW_POST_DATA
-
@Ing - 当我们发布原始帖子时,不会有任何键值对...没有查询字符串...只是数据将像 xml 内容或 json 一样发布...这个是所有网站如何发布原始帖子... http_post 和 http_raw_post 之间存在差异...所以希望我已经说清楚了
标签: php curl http-post file-get-contents