Php $HTTP\u原始\u POST\u数据的使用
我正在搜索这个的确切定义,但仍然找不到满意的定义。 我在使用nusoap webservice,有一行Php $HTTP\u原始\u POST\u数据的使用,php,web-services,nusoap,Php,Web Services,Nusoap,我正在搜索这个的确切定义,但仍然找不到满意的定义。 我在使用nusoap webservice,有一行 $server->service($HTTP_RAW_POST_DATA); 有人能告诉我$HTTP\u RAW\u POST\u数据的用途吗。 根据我的研究,这是为了收集原始的post数据。但我对答案并不满意。原始post数据的确切含义是什么 HTTP消息由一系列标头和正文组成(根据标头的不同,可以是必需的/可选的/禁止的) 对于URLhttp://stackoverflow.com
$server->service($HTTP_RAW_POST_DATA);
有人能告诉我$HTTP\u RAW\u POST\u数据的用途吗。
根据我的研究,这是为了收集原始的post数据。但我对答案并不满意。原始post数据的确切含义是什么 HTTP消息由一系列标头和正文组成(根据标头的不同,可以是必需的/可选的/禁止的) 对于URL
http://stackoverflow.com/questions/43519007/usage-of-http-raw-post-data
,正文是用于生成您正在阅读的文档的HTML
如果您对它发出GET请求,那么就没有请求主体
如果你提出一个POST请求,那么将会有。如果您提交表单,它将使用您可以使用enctype
属性指定的格式之一进行编码
通常,在PHP中,当您想要处理该数据时,您会使用$\u POST
,它在正文解码后包含内容
原始主体是解码之前的主体。HTTP请求由两部分组成。一组标题和正文 标题包括被请求的URL和缓存控件帮助程序(例如“我有一个昨天的版本,只有在有更改时才给我一个新版本,好吗?”) 正文可能会出现,也可能不会出现,具体取决于请求的类型。POST请求具有主体 主体可以是客户喜欢的任何格式。其中一个标头将告诉服务器格式是什么 HTML表单使用了几种格式,PHP知道如何解析这些格式并将数据放入$\u POST 如果数据是另一种格式,比如JSON,或者如果数据不符合PHP的怪癖(比如在同名键的末尾有[]的规则),那么您可能希望直接访问数据,以便自己解析。这就是原始POST数据
包含URL编码(应用程序/www URL编码)变量,这些变量被发布到脚本中,PHP为您解码。在处理HTML表单数据时,使用这个$\u POST
-获取原始POST数据,在编写API和需要XML/JSON/…时需要使用此数据。。。无法通过PHP解码为$\u POST的输入文件获取内容(“php://input“”
-理论上与上述相同,但取决于php.ini。并且在PHP7中不再可用$HTTP_RAW_POST_DATA
$\u POST
然而,实际的HTTP请求主体只是一段文本,在某些情况下,我们希望将其视为文本。例如,SOAP请求使用XML文档作为POST请求的主体$HTTP_RAW_POST_DATA
允许您访问此文本-它是“RAW”,因为它尚未被处理,只是作为字符串返回给您
值得注意的是,
$HTTP\u RAW\u POST\u DATA
是一种访问此数据的旧方法,而在较新版本的PHP中,正确的方法是使用file\u get\u contents('php://input');代码>其中php://input
是一个表示相同原始数据的虚拟文件。说得很清楚,不是吗?顶部的块引号感觉不合适。在底部提到删除可能更有意义:“依赖于php.ini”->“依赖于php.ini,在PHP7中不再可用”我很困惑1)为什么不能使用$\u POST?你无法使用POST获得JSON等数据,请自己尝试。我同意你的看法。我知道json或api中的数据无法使用$\u POST获取。我在问为什么?。我们从客户端发送到服务器的参数是post数据,那么为什么我们不能使用$\u post获取数据。我想知道内在的过程,而不仅仅是事实。希望你能理解!这有点混乱,因为您谈论的是HTML,它是响应体,实际上与问题无关。