[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Загрузить страницу внешнего сайта
SergeyZuzic
Требуется загрузить страницу внешнего сайта с подменой HTTP REFERER
Реализовал так:
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_REFERER, "http://yandex.ru/yandsearch?text=".$url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$get_site=curl_exec($ch); $heder=get_headers($url, 1);
curl_close($ch);
if(is_array($heder['Content-Type'])) preg_match('/charset=(.*)/', $heder['Content-Type'][0], $arr_a); else preg_match('/charset=(.*)/', $heder['Content-Type'], $arr_a);
preg_match('/charset=(.*)\"/', $get_site, $arr_b);
if ($arr_b[1]!="") $char=strtolower($arr_b[1]); else $char=strtolower($arr_b[1]);
header( "Content-Type: text/html; charset=".$char);
print $get_site;

Но есть проблема, если сайт с относительными url на картинки то они не грузятся!



Спустя 13 минут, 23 секунды (21.06.2010 - 11:41) Lolik написал(а):
Цитата (SergeyZuzic @ 21.06.2010 - 08:27)
Но есть проблема, если сайт с относительными url на картинки то они не грузятся!

ну так ты ищи урл в тексте и загружай картинки вместе с кодом страницы

Спустя 4 минуты, 52 секунды (21.06.2010 - 11:46) SergeyZuzic написал(а):
Lolik
Я так понял ты имеешь в виду, что нужно изменить url на абсолютные?
Ну так может подкинешь регулярку biggrin.gif ?


Там уйма вариантов:
src="./images/d1.jpg"
src="/images/d1.jpg"
src="images/d1.jpg"
src="../../images/d1.jpg"
и т.д. т.п.

Спустя 1 час, 23 минуты, 32 секунды (21.06.2010 - 13:09) SlavaFr написал(а):
@SergeyZuzic регулярки хорошая штуковина, но к сожалению ими нельзя решить все проблемы.

Спустя 28 минут, 6 секунд (21.06.2010 - 13:37) SergeyZuzic написал(а):
SlavaFr
Это тоже верно smile.gif

Спустя 1 час, 31 минута, 45 секунд (21.06.2010 - 15:09) SlavaFr написал(а):
url://xxx.ru/raz/dva/tri/ = актуальный path

1)если релативный начинается с / , ./ то обрезаеш ./ или / у релативного

2)если релативный без сепаратора, то не делаеш с релативным ничего

3)если релатиный имеет ../ то считаем их количество в $х . и отрезаем их от релативного


отрезаем от актуалного $х звеньев /***/ с права и присоединяем релативный.

самая главная задача, это найти того кто это зделает smile.gif

Спустя 4 часа, 33 минуты (21.06.2010 - 19:42) SergeyZuzic написал(а):
http://chesser.ru/forum/viewtopic.php?f=16&t=375
Вот там в аттаче есть хорошие парсеры smile.gif есть

Спустя 3 часа, 25 минут, 18 секунд (21.06.2010 - 23:07) Night User написал(а):
Если проблемы только с URL на картинки, то здесь ИМХО проще будет http://www.htmlbook.ru/html/base.html

Вот, например, относительная ссылка на шапку PHPForum'а:
http://nightuser.ru/phpforum/test1.html
http://nightuser.ru/phpforum/test2.html

Спустя 1 день, 19 часов, 56 минут, 11 секунд (23.06.2010 - 19:04) SergeyZuzic написал(а):
Night User
Да спасиб, мне этот способ на Ответах Google уже подсказали smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.