Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с CURL
 
 автор: class   (19.03.2010 в 11:26)   письмо автору
 
 

Здравствуйте.

Столкнулся с такой проблемкой.

Получаю страницу сайта методом CURL


<?php 
$url 
"http://sait.com"
$ch curl_init();
curl_setopt($chCURLOPT_URL$url);
curl_setopt($chCURLOPT_USERAGENT$_SERVER['HTTP_USER_AGENT']); 
curl_setopt($chCURLOPT_CONNECTTIMEOUT30);
curl_setopt($chCURLOPT_TIMEOUT30);
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
curl_setopt($chCURLOPT_HEADER1);
$string=curl_exec($ch); 
curl_close($ch); 
echo(
$string); 
?>


Саму страницу выводит, но выводит ссылки с моим адресом, вместо sait.com

т.е. на том сайте все ссылки прописаны так:

<a href="test.php">TEST</a>
<a href="test2.php">TEST 2</a>

когда получаю страницу методом CURL, то они становятся таким видом:

<a href="http://MoySait.ru/test.php">TEST</a>
<a href="http://MoySait.ru/test2.php">TEST 2</a>

Подскажите, как бороться с этой проблемой.

  Ответить  
 
 автор: ....   (19.03.2010 в 15:20)
 
   для: class   (19.03.2010 в 11:26)
 

Добавалять в код страницы '<base href="'. $url .'">'
можно простым str_replace('</head>'......

  Ответить  
 
 автор: class   (19.03.2010 в 19:48)   письмо автору
 
   для: ....   (19.03.2010 в 15:20)
 

Ну это понятно, ну а нету каких-нибудь стандартных решений именно в самом CURL?

  Ответить  
 
 автор: Саня   (19.03.2010 в 21:24)   письмо автору
 
   для: class   (19.03.2010 в 19:48)
 

Curl не изменяет получаемые данные.

  Ответить  
 
 автор: class   (20.03.2010 в 04:01)   письмо автору
 
   для: ....   (19.03.2010 в 15:20)
 

.

  Ответить  
 
 автор: class   (20.03.2010 в 21:44)   письмо автору
 
   для: class   (19.03.2010 в 11:26)
 

Есть ещё вопросик...

А если на открываемом URL стоит переадресация?

<meta http-equiv="refresh" content="1;URL=http://url.ru"/>

Как сделать, чтобы переадресация не срабатывала?

  Ответить  
 
 автор: Саня   (20.03.2010 в 22:10)   письмо автору
 
   для: class   (20.03.2010 в 21:44)
 

CURLOPT_FOLLOWLOCATION

  Ответить  
 
 автор: class   (20.03.2010 в 22:15)   письмо автору
 
   для: Саня   (20.03.2010 в 22:10)
 

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

Не помогает

  Ответить  
 
 автор: Trianon   (20.03.2010 в 22:57)   письмо автору
 
   для: Саня   (20.03.2010 в 22:10)
 

CURLOPT_FOLLOWLOCATION реагирует на мета-директивы?

  Ответить  
 
 автор: class   (20.03.2010 в 23:06)   письмо автору
 
   для: Trianon   (20.03.2010 в 22:57)
 

Ну я как бы тоже такой вопрос и спрашиваю :)

Есть другие решения моей проблемы?

  Ответить  
 
 автор: Саня   (22.03.2010 в 00:36)   письмо автору
 
   для: class   (20.03.2010 в 23:06)
 

Регулярками выдрать.

  Ответить  
 
 автор: Саня   (22.03.2010 в 00:34)   письмо автору
 
   для: Trianon   (20.03.2010 в 22:57)
 

Нет. Но мета-редиректом обычно дублируют http-редирект. Вот я и подумал...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования