hook Опубликовано 4 мая, 2012 Жалоба Поделиться Опубликовано 4 мая, 2012 Доброго времени суток!Итак, прошу помощи в реализации моей идеи. НЕ прошу писать за меня код, а просто посоветовать, как поступить и в какую сторону "копать")).Есть нужда иметь программу, которая будет брать с определенного сайта определенную инфу - строки (команды) или редко текст. доки, и обрабатывать их и возможно отдавать обратно (или же просто информировать о "проделанной работе" простой строкой Ok). По пунктам, что "хочеться" сделать (не "пинайте" если не совсем четко сформулировано):1. Запускаем прогу, она стучиться например на www.mydocsite.ru и говорит я on-line!!!2. Передать скрипту на web-сервере кокой-нибудь свое уникальное имя. (чтоб я знал кто это)3. Посылает запрос web-серверу на получение документа или команды.4. Прием строки или документа5. Обработка строки или дока.6. Идем на пункт 1 и 2.Не могу сообразить какой использовать компонент NMHTTP или IdHttpClient. C каким будет проще? В моей сети этих программ будет несколько штук (2-3 )Вопросы: Возможно ли реализовать такое? Если ДА, то каких компонентов не хватает (WinApi знаю не очень )? Хотелось бы увидеть примеры-исходники работы с NMHTTP и IdHttpClient. Может чего упустил? Подскажите!)) Может кто-то делал подобное? Я мало писал приложений для сети((( *26Добавлено спустя 27 минут 2 секунды:Вот еще вопрос образовался:Как с помощью NMHTTP отправить get запрос скрипту и получить "обработанный" ответ. Ссылка на комментарий
nonlux Опубликовано 4 мая, 2012 Жалоба Поделиться Опубликовано 4 мая, 2012 Ну по поводу. Компонентов делфей и вообще делфи не знаю Но а так все работать должно как-то, так:База всего приложения это проток HTTP.То есть если посмотриш на верхнюю строку в браузереhttp://ulanovka.ru/forum/viewtopic.php?t=314392&sid=000это ссылка на настоящую тему.Это тебе как пользователю достаточно ее куда то ввести.Обращение по этой ссылке самим браузеро упрошенно выглядит такGET /forum/viewtopic.php?t=314392&sid=000 HTTP/1.1Host: ulanovka.ruAccept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Charset:windows-1251,utf-8;q=0.7,*;q=0.3Accept-Encoding:gzip,deflate,sdchAccept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4Cache-Control:max-age=0Connection:keep-aliveCookie:phpbb2mysql_data=????????; ....Host:ulanovka.ruReferer:http://ulanovka.ru/forum/viewforum.php?f=137&sid=000User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19(пустая строка)Ответ сервера:HTTP/1.1 200 OKCache-Control:no-cache, pre-check=0, post-check=0Connection:keep-aliveContent-Type:text/htmlDate:Fri, 04 May 2012 12:08:22 GMTExpires:0Pragma:no-cacheServer:nginx/0.7.67Set-Cookie:phpbb2mysql_data=&&&&&Transfer-Encoding:chunked(Пустая строка)страницаНо суть в том что первое что должно делать твое приложение это вести HTTP - диалогкак ты это сделаешь не суть важно, можешьнайти компонент, или использовать сокеты.2.если вернемся к ссылкеhttp://ulanovka.ru/forum/viewtopic.php?t=314392&sid=000На серве лежит скрипт viewtopic.phpему можно передовать параметры,он например воспринимает параметр t - который обозначает идентификатор темы, и sid - который обозначает идентфикатор твой сессииЧто бы просматривать темы мы и указываем t=314392, а например номер соседней темы t=314230Вот чтобы как нибуть взаимодействовать с сервером тебе нужно знать его API. или если ты и сервер писать будеть то придумать его.Например www.mydocsite.ru/superPuperClient.php?tast=setMeOnline&my_ip=192.0.0.1&user=000123&pass=123 - например такая хня может подключать твой клиент, ты говориш подключи мой клиент мое уникальное имя 000123www.mydocsite.ru/superPuperClient.php?task=getNewComand -например такая хня будет дай мне следующее сообщениеwww.mydocsite.ru/superPuperClient.php?task=compliteComand&id=999&state=ok -например такая хня значит что клиент отлично выполнил команду номер 999www.mydocsite.ru/superPuperClient.php?task=compliteComand&id=666&state=fail - а такая хня сообщит серверу что клиент не стал выполнять команду 666 ( он же не сатанист)На эту всю фигню сервер должен уметь отвечать, опять же если готового нет то можно посмотреть в сторону XML и JSON. Полюбас на делфях если либы которые могут жрать ету хрень и возвращать добные структуры.например при запросеwww.mydocsite.ru?superPuperClient.php?task=getNewComandсервер может отвечать XML<?xml version="1.0" encoding="UTF-8"?>1fuck yourself in the ass или JSON{id:1,action:"fuck yourself in the ass"}а можешь просто посылать голый ответfuck yourself in the assВот в принципе и все что тебе предстоит сделать.Но имей ввиду такая реализация сетевго взаимодействия не совсем удатчно потому что. Пока клиент не послал запрос серверу от тупо дрыхнет и ему пофигу на клиентов которые подключились или же которые что нибуть выполняют. То есть тебе не удасться реализовать полного интерактива в сетевом взаимодействии..Плюс он при каждом запросе клиента снова должен узнать или вспомнить что вообще происходит, кто его теребит да и вообще ВСЁ ( понимаешь HTTP сервера много спят и много бухают, поэтому они всегда у всех спрашивают ты кто чего хочешь) Вот такая лабуда.Ну я думаю направление мыслей тебе дал. Так что удачного кодинга и успешных тестов. Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти