因此,当浏览器向服务器发出HTTP请求时,它的形式为一些标题(获取/发布,cookie,主机,用户代理等).有没有办法可以在PHP脚本中阅读和显示它们?是的,$ _GET,$ _POST和$ _COOKIE都没问题.我正在寻找其余的标题信息.例如http://pgl.yoyo.org/http/browser-headers.php谢谢.
get_headers()函数就是你要找的.如引述
get_headers - 获取服务器发送的所有标头以响应HTTP请求
简单的例子:
$url = 'http://www.example.com';
print_r(get_headers($url));
Run Code Online (Sandbox Code Playgroud)
输出服务器发送的所有信息:
阵列(
Run Code Online (Sandbox Code Playgroud)[0] => HTTP/1.1 200 OK [1] => Date: Sat, 29 May 2004 12:28:13 GMT [2] => Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT [4] => ETag: "3f80f-1b6-3e1cb03b" [5] => Accept-Ranges: bytes [6] => Content-Length: 438 [7] => Connection: close [8] => Content-Type: text/html )
要接收浏览器发送的信息,可以从$_SERVER超级全局变量访问它们.例如,以下代码段提供了所有与浏览器相关的信息.
echo $_SERVER['HTTP_USER_AGENT'];
Run Code Online (Sandbox Code Playgroud)
同样的,
REQUEST_METHOD :给出HTTP请求方法,如GET,HEAD,Put,PostHTTP_HOST:给出HOST信息HTTP_COOKIE:给出有关Cookie标头的原始信息[来源]我最喜欢的:http://php.net/manual/en/function.apache-request-headers.php
从当前请求获取所有HTTP请求标头.
<?php
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
echo "$header: $value <br />\n";
}
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8608 次 |
| 最近记录: |