У меня возникли проблемы с работой с завитками и заголовками, возвращаемыми серверами.
1) Мой php-файл на my_website.com/index.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; ?>
Файл php на my_content_server.com/index.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 должен просто отправлять в браузер один и тот же тип контента и другие заголовки (вместе с фактическими данными). Но похоже, что my_website.com/index.php пишет собственные заголовки? (Или, может быть, я плохо понимаю работу).
привет, JP
Вставить перед curl_exec()
:
curl_setopt($ch,CURLOPT_HEADER,true);
Вместо того, чтобы просто отгонять результат, пересылайте заголовки клиенту:
list($headers,$content) = explode("\r\n\r\n",$result,2); foreach (explode("\r\n",$headers) as $hdr) header($hdr); echo $content;