2010-08-18 44 views
1

我需要一个php脚本,它通过get请求接受一个URL,我希望它发送一个请求发送访问者使用的相同头的URL,然后返回文件使用服务器发送的相同头文件。PHP +卷曲,获取远程文件并提供相同的头文件

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

回答

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:头)......我要把它留给你建立一个健全检查功能去掉未转发的标题...

+0

谢谢,正是我所需要的。 – Hintswen 2010-08-18 16:43:58