如何在 PHP 中将 HTTP 请求中的所有信息打印到屏幕上

新手上路,请多包涵

我需要一些 PHP 代码来转储 HTTP 请求中的所有信息,包括标头和 POST 请求中包含的任何信息的内容。基本上,一个诊断工具可以准确地吐出我发送到服务器的内容。

有没有人有一些代码可以做到这一点?

原文由 Spike Williams 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

Peter BaileyCmyker 的答案放在一起,您会得到如下信息:

 <?php
foreach ($_SERVER as $key => $value) {
    if (strpos($key, 'HTTP_') === 0) {
        $chunks = explode('_', $key);
        $header = '';
        for ($i = 1; $y = sizeof($chunks) - 1, $i < $y; $i++) {
            $header .= ucfirst(strtolower($chunks[$i])).'-';
        }
        $header .= ucfirst(strtolower($chunks[$i])).': '.$value;
        echo $header."\n";
    }
}
$body = file_get_contents('php://input');
if ($body != '') {
  print("\n$body\n\n");
}
?>

它与 php -S 内置网络服务器一起使用,这是 PHP 的一个非常方便的功能。

原文由 ldav1s 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题