HTTP:如何查看原始HTTP内容?

时间:2017-05-31 07:13:12

标签: php http http-headers

特别是,我有兴趣查看常规发送给PHP的3种主要数据类型,并且可以在$_GET$_POST$_COOKIE数组中使用。

我不太熟悉HTTP,但据我所知,从表单(method=postget),URL查询字符串或Cookie中发送的数据是放入HTTP标头然后发送到服务器。 (我不完全确定method=post)是否属于这种情况。在大多数情况下,它是纯文本。

问题是,如何以原始格式查看此HTTP内容?

我感兴趣的主要是为了更好地了解这个过程。

3 个答案:

答案 0 :(得分:0)

您可以尝试$requestBody = file_get_contents('php://input');我认为这可以帮助您。

答案 1 :(得分:0)

由于所有$ _GET,$ _ POST和$ _COOKIE都是数组,您可以执行print_r以原始形式查看内容。

print_r($_GET);
print_r($_POST);
print_r($_COOKIE);

答案 2 :(得分:0)

在HTTP标头中传输的某些PHP superglobal中唯一的数据是cookies。此类Cookie通常包含sessions使用的会话ID。从网址填充$_GET

  

通过URL参数传递给当前脚本的关联变量数组

从使用POST方法的HTTP请求的请求主体填充

$_POST,只要它们使用实现的两种格式之一进行格式化:

  

当使用application / x-www-form-urlencoded或multipart / form-data作为请求中的HTTP Content-Type时,通过HTTP POST方法传递给当前脚本的关联变量数组。

在这两种情况下,您都需要了解它们是遵循某些准则时可行的便捷方法。并非所有原始信息都可以这种方式使用。

根据检查原始数据的方式,现在所有体面的主流浏览器都包含带有网络窗格的开发人员工具。这些工具通常映射到 F12 键盘快捷方式。在PHP端,您可以使用var_dump($_SERVER['REQUEST_URI'])检查原始URL的一部分(此变量将不包括协议前缀,主机名或端口),您可以使用例如检查原始POST主体。 var_dump(file_get_contents("php://input"))