您不需要第三方服务在此类请求中隐藏您的referer,您可以将其设置为您需要的任何内容,但是您不能使用该get_headers
功能来做到这一点。你可以用file_get_contents
and来做stream_context_create
。在你的情况下,我想它会是这样的:
$URL = 'http://example.com/';
$Context = stream_context_create(array(
'http' => array(
'method' => 'HEAD',
'header' => 'Referer: '
)
));
file_get_contents($URL, false, $Context);
$ResponseHeaders = $http_response_header;
$header = substr($ResponseHeaders[0], 9, 3);
echo $header;
stream_context_create
使用您指定的请求的任何选项创建一个流上下文,file_get_contents
并使用该上下文执行请求。之后,脚本会检查$http_response_header
哪个是在对 HTTP URL 的 HTTP 请求之后填充的一种魔术变量,并且它仅在本地范围内可用,即,在您调用发出 HTTP 请求的函数之后,而不是在另一个范围内之后执行的函数。的内容与函数$http_response_header
的结果基本相同get_header()
。
(您也可以GET
在上面的示例中使用,但如果您不需要响应正文,HEAD
只需获取没有正文的标头。顺便说一下,PHPget_headers
发出一个GET
请求,该请求会获取包括正文在内的整个响应,然后将其丢弃。但是有时接收服务器或脚本无法处理HEAD
请求或执行与GET
请求不同的某些操作 - 您应该真正尝试一下,看看什么对您有用。)