我使用php代理绕过JS跨域问题。 我想将一些标头从客户端传递到目标服务器。
我如何收到所有标题的列表?
答案 0 :(得分:1)
PHP有一个名为get_headers()的内置函数,您应该可以使用它。
答案 1 :(得分:1)
您可以致电getallheaders
来访问请求标头。
答案 2 :(得分:0)
不会通过PHP做到这一点。 如果您使用apache2:http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
,请查看这是否适合您答案 3 :(得分:0)
getallheaders()和apache_request_headers()似乎无法在我的服务器上运行..我假设它是因为它只能在“FastCGI”或“当PHP作为Apache模块安装时”。 (根据http://www.php.net/manual/en/function.apache-request-headers.php)
然而,jrabbit在同一页面上的评论详细说明了替代功能,这似乎对我有用:
<?php
if (!function_exists('apache_request_headers')) {
eval('
function apache_request_headers() {
foreach($_SERVER as $key=>$value) {
if (substr($key,0,5)=="HTTP_") {
$key=str_replace(" ","-",ucwords(strtolower(str_replace("_"," ",substr($key,5)))));
$out[$key]=$value;
}
}
return $out;
}
');
}
?>
用户limalopex.eisfux.de在我未测试的同一页面上有另一个实现。