Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Получение файла с заменой IP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Curl. Нужно получить файла (содержимое страницы) с заменой IP
exe_cut
Отправлено: 03 Февраля, 2013 - 20:49:38
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Всем здрасте. Задача такая :

есть сайт с каким-нибудь $url
задача : получить содержимое страницы сайта для парсинга, с подменой IP-адреса на адреса клиента
то есть ко мне на сайт заходит посетитель и я должен выдать ему страницу с другого сайта (с заданным $url), но тот сервак должен думать что к нему обращается клиент напрямую а не через мой сайт (там идёт фильтрация по IP и для разных посетителей - разные данные)

пробовал через Curl но что-то не получается... вот код :

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_INTERFACE, $_SERVER['REMOTE_ADDR']);
$output = curl_exec($ch);
curl_close($ch);

этот код вообще ничего не выдаёт (пустая страница)
если убрать curl_setopt($ch, CURLOPT_INTERFACE, $_SERVER['REMOTE_ADDR']); - то выдаёт нужную страницу, но сформированную для IP моего сайта а не клиента

надеюсь задачу обрисовал подробно.... спасибо всем кто поможет
 
 Top
Мелкий Супермодератор
Отправлено: 03 Февраля, 2013 - 21:08:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




exe_cut пишет:
получить содержимое страницы сайта для парсинга, с подменой IP-адреса на адреса клиента

Невозможно.


-----
PostgreSQL DBA
 
 Top
exe_cut
Отправлено: 04 Февраля, 2013 - 11:01:36
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




тогда может другой способ подскажите?
 
 Top
Мелкий Супермодератор
Отправлено: 04 Февраля, 2013 - 11:22:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Я не знаю кроссбраузерных способов обратиться к другому хосту, кроме как проксируя запрос через свой веб-сервер.

Быть может, вам подойдут фреймы.


-----
PostgreSQL DBA
 
 Top
LShark
Отправлено: 04 Февраля, 2013 - 11:36:58
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Эм... А просто file_get_contents с того сайта, парсинг, запрос картинок/прочего, затем уже печать на выход юзеру, выдавая эту страницу.
Результат - запрос будет сугубо с твоего адреса, ну кроме задержки на запрос контента и парсинг.


-----
Истина прежде всего в том, что...
 
 Top
exe_cut
Отправлено: 04 Февраля, 2013 - 12:32:08
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




LShark, file_get_contents так же как и любые другие способы получения содержимого (типа сокеты или средствами Curl) передают в заголовке IP именно моего сайта - для этого IP и выдается страница, а она различается для разных IP-адресов... так что этот метод не подходит, уже опробовано


Мелкий, да я сам уже дошел что только фреймами и можно решить проблему... но тогда еще один вопрос в тему : можно ли средствами JS как-то заставить в iframe грузить только текст HTML без подгрузки изображений и прочего, дабы ускорить загрузку страницы стороннего сайта для последующего парсинга на стороне клиента ?

(Отредактировано автором: 04 Февраля, 2013 - 12:34:16)

 
 Top
Мелкий Супермодератор
Отправлено: 04 Февраля, 2013 - 12:58:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




exe_cut пишет:
для последующего парсинга на стороне клиента

А вы уже знаете, как этого можно добиться? Как получить доступ к контенту во фрейме без содействия самой страницы?
Расскажите тогда, пожалуйста, возьму себе на вооружение.


-----
PostgreSQL DBA
 
 Top
exe_cut
Отправлено: 04 Февраля, 2013 - 13:58:11
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




да блин, задачка.... надеялся что яховская примочка yql поможет, а она тупо работает как прокси-сервер и обращается со своим IP... засада короче Недовольство, огорчение

(Отредактировано автором: 04 Февраля, 2013 - 14:43:26)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB