我在处理curl和服务器返回的头文件时遇到了一些问题。
1)我在my_website.com/index.php上的php文件如下(修剪后的版本):
<?php
$url = 'http://my_content_server.com/index.php';
//Open connection
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
echo $result;
?>my_content_server.com/index.php上的php文件如下所示:
<?php
header("HTTP/1.0 404 Not Found - Archive Empty");
echo "Some content > 600 words to make chrome/IE happy......";
?>我希望当我访问my_website.com/index.php时,我应该得到一个404,但这并没有发生。
我做错了什么?
2)基本上我想要实现的是:
my_ content _server.com/index.php将决定内容类型并发送适当的头部,而my_website.com/index.php应该只将相同的content-type和其他头部(以及实际数据)发送到浏览器。但似乎my_website.com/index.php正在编写自己的头文件?(也可能是我没有正确理解它的工作原理)。
向您致敬,JP
发布于 2010-11-10 14:44:52
在curl_exec()之前插入
curl_setopt($ch,CURLOPT_HEADER,true);不只是echo'ing结果,还要将头文件转发给客户端:
list($headers,$content) = explode("\r\n\r\n",$result,2);
foreach (explode("\r\n",$headers) as $hdr)
header($hdr);
echo $content;https://stackoverflow.com/questions/4141750
复制相似问题