PHP + Curl,获取远程文件并使用相同的标头

时间:2010-08-18 16:11:37

标签: php curl http-headers

我需要一个通过get请求接受URL的php脚本,我希望它发送请求,发送访问者使用的相同头文件的URL,然后使用服务器发送的相同头文件返回文件。

例如。请求是http://Google.com/ PHP脚本使用Curl请求http://Google.com/发送与发送到脚本的用户浏览器相同的标题(例如浏览器名称) 然后将数据发送到用户的浏览器,并使用Google发送给脚本的相同标题(例如,cache,ttl等)。

1 个答案:

答案 0 :(得分:1)

嗯,您需要设置curlopt CURLOPT_HEADER设置以及CURLOPT_RETURNTRANSFER设置。但是这将返回一个单独的字符串,标题位于正文顶部。然后你可以用以下内容分割它们:

$response = curl_exec($ch);
list ($headerString, $body) = explode("\r\n\r\n", $response, 2);
$headers = explode("\r\n", $headerString);
foreach ($headers as $header) {
    header($header);
}
echo $body;

现在,请注意并非所有标头都应转发(例如Server:标头)...我将留给您构建一个健全性检查功能来去除未转发的标头..