Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2010, 12:58   #1
alex-chz
Пользователь
 
Аватар для alex-chz
 
Регистрация: 03.03.2010
Сообщений: 10
Восклицание Взаимодействие между серверами

Добрый день всем форумчанам. Сегодня только зарегистрировался на данном ресурсе.

Так как я только только начинаю более менее серьзно программить, то иногда всплывают вопросы, возможно вы сочтете их мягко сказать "глупыми", но они таковы.

Задача стала такая, нужно организовать взаимодествие между серверами, хотя возможно, это и громко сказано.
данная система должна будет в дальнейшем управлять потоками рекламных объявлений, разбрасыванием их по доскам объявлений, сортировкой и фильтрацией и т.д..
Вот что у нас есть:
Оборудование:
1.У нас есть разные сайты с рекламой и прочим мусором, грубо говоря контент
2.есть сервер в моем расположении, на нем собственно говоря и буду производить обработку
3.есть сервер клиента.
Задача:
1.Нужно брать копипаст(аналог ctrl+C, ctrl+V) с ресурсов рекламы (1) и контента. Ресурсов много и руками такое делать, можно просто сойти с ума..Все скрипты должны находится только на моем сервере, без каких либо внедрений в сервера клиентов.
2.Далее, скопированный материал на время сохраняется в ассоц массив на моем сервере(2). на нем же происходит полная обработка полученного, переназначение заголовков, фильтрация жаргонных слов, удаление лишнего и подготовка данных к отправке.
3.После обработки данные должны выгрузиться на сервер клиента, через форму, что находится на его сайте (3). Т.е грубо говоря нужно сделать что то типа эмуляции пользователя - заполнить необходимые поля формы данными что были подготовлены на этапе 2 и нажать ОК.

настолько это сложная задача? реально ли ее организовать чисто средствами РНР (его то я еще знаю относительно нормально) или же тут без клиента не обойтись (JavaScr).

Кто что может предложить или посоветовать?
"В будущем на рынке останется два вида компаний: те, кто в Интернет и те, кто вышел из бизнеса.."
(Билл Гейтс)

Последний раз редактировалось alex-chz; 03.03.2010 в 13:01.
alex-chz вне форума Ответить с цитированием
Старый 03.03.2010, 14:44   #2
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Цитата:
Сообщение от alex-chz Посмотреть сообщение
настолько это сложная задача? реально ли ее организовать чисто средствами РНР (его то я еще знаю относительно нормально) или же тут без клиента не обойтись (JavaScr).
Задача непростая, но вполне реализуемая. Во первых вам надо разобраться с принципами работы c web затем изучить библиотеку php curl и создавать код.
js вам в этой работе не помошник.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 03.03.2010, 14:56   #3
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Ещё я подозреваю понадобится неплохое знание регулярных выражений... Выдирать-то прийдётся нечто определённое из нечта сумбурно-хаотического.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 03.03.2010, 21:06   #4
alex-chz
Пользователь
 
Аватар для alex-chz
 
Регистрация: 03.03.2010
Сообщений: 10
По умолчанию

С регулярными я справлюсь.. Алгоритм работы в голове уже созрел, думаю работать он просто обязан, НО плиз, подскажите, как выдрать html код страницы (ну перехватить ответ сервера), если конечно вам не сложно, чтобы долго не лопатить интернет, а то в книге, что я изучал не было перехватов ответа сервера и эмуляции запросов к нему
"В будущем на рынке останется два вида компаний: те, кто в Интернет и те, кто вышел из бизнеса.."
(Билл Гейтс)
alex-chz вне форума Ответить с цитированием
Старый 03.03.2010, 23:23   #5
wanick
Пользователь
 
Регистрация: 25.02.2010
Сообщений: 26
По умолчанию

alex-chz, как уже писали библиотеку php curl, откройте мануал там есть примеры, также для расширения можете прочитать мануал по fsockopen, может они вам больше приглянутся.

всеже вот простенький пример
Скрипт для сграбления ответа google
PHP код:
<?php $hostname "www.google.ru"
$path "/search?hl=ru&q=host&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=lang_ru"
// Заходим первый раз 
$fp fsockopen($hostname"80") or dir("can't connect"); 
$out "GET $path HTTP/1.0\r\n"
$out .="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322)\r\n";
$out .= "Host: $hostname\r\n"
$out .= "Connection: Close\r\n"
$out .= "\r\n"
fwrite($fp$out); 
$buffer fread($fp2048); 
fclose($fp); 

// Находим переданные нам куки 
preg_match_all("/Set-Cookie: ([^=]+)=([^;]+);/"$buffer$matches); 

$size sizeof(@$matches[0]); 
$cookie null
for(
$i 0$i $size$i++) 

if( !
is_null($cookie) ) 
$cookie .= "&"
$cookie .= $matches[1][$i] . "=" $matches[2][$i]; 



$cookie .= "expires=Sun";
print 
$cookie;
$buffer null
// Заходим второй раз... и посылаем заголовок cookie: 
$fp fsockopen($hostname"80") or dir("can't connect"); 
$out "GET $path HTTP/1.0\r\n"
$out .="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322)\r\n";
$out .= "Host: $hostname\r\n"
$out .= "Connection: Close\r\n"
$out .= "Cookie: $cookie\r\n"
$out .= "\r\n"
if(!isset(
$fp))
exit;
fwrite($fp$out); 
while ( !
feof($fp) ) 
$buffer .= fread($fp2048); 
print 
$buffer;
fclose($fp);
?>
на curl, по проще будет
wanick вне форума Ответить с цитированием
Старый 03.03.2010, 23:32   #6
alex-chz
Пользователь
 
Аватар для alex-chz
 
Регистрация: 03.03.2010
Сообщений: 10
По умолчанию

большое спасибо, я нашел неслохой класс для сгребания страниц, вылавливания форм и т.д.. Так что уже с вылавливанием ответа уже не проблема=)

Уже занимаюсь разбором того мусора что программа сгребает - хтмл уже вычистил с кода, так что теперь занялся регулярными=)
"В будущем на рынке останется два вида компаний: те, кто в Интернет и те, кто вышел из бизнеса.."
(Билл Гейтс)
alex-chz вне форума Ответить с цитированием
Старый 03.03.2010, 23:44   #7
alex-chz
Пользователь
 
Аватар для alex-chz
 
Регистрация: 03.03.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от wanick Посмотреть сообщение
...
на curl, по проще будет
Спасибо за направление, я обязательно посмотрю, еще совсем не знаком
"В будущем на рынке останется два вида компаний: те, кто в Интернет и те, кто вышел из бизнеса.."
(Билл Гейтс)
alex-chz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взаимодействие между переменными в JavaScript и РНР Timpi JavaScript, Ajax 26 04.03.2011 08:38
Взаимодействие C# и 1с Sparky Свободное общение 1 05.02.2010 04:31
Взаимодействие между формами Marsel737 Общие вопросы Delphi 5 16.11.2009 22:29
Помогите разобраться с серверами, языками, ОС и т.д. ARIRAN Свободное общение 14 13.03.2009 16:06
Взаимодействие форм mauar Общие вопросы Delphi 7 05.05.2008 11:36