| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > приложение и web |
| Автор: sniron 24.2.2005, 23:52 |
| Как можно связать свое приложение с web? Допустим что бы приложение передавало какое – нибудь значение, например переменной в php скрипте. Спасибо. |
| Автор: Александра 25.2.2005, 00:15 |
| sniron ну например через POST запрос... а что конкретнее? |
| Автор: Snowy 25.2.2005, 09:37 | ||
|
| Автор: sniron 25.2.2005, 23:51 |
| А какой тип переменной otvet? И какие значение она может принимать? |
| Автор: Alex 26.2.2005, 00:00 |
| Snowy, Get насколько я знаю, это процедура, а не функция. |
| Автор: Александра 26.2.2005, 00:17 |
| Alex все верно, есть как ф-ия, возврашает string, а есть и процедура, у которой вторым параметром должен быть наследник TStream'а куда возврашается результат запроса |
| Автор: Alex 26.2.2005, 00:27 |
| Александра точно. |
| Автор: Snowy 27.2.2005, 08:58 | ||
Читай документацию по TIdHTTP. В данном случае otvet - это string, в который будет засунута страница, которую вернет php скрипт. Пример довольно абстрактный, поскольку сам TIdHTTP это класс, экземпляр которого тебе предстоит создать (или кинуть на форму). |
| Автор: sniron 27.2.2005, 14:54 |
| А где можно скачать нормальный хелп с примерами по TIdHTTP, кроме как из встроенной справки? Моя задача - внедрить в программу модуль регистрации в нете, что бы определенные данные передавались ПХП скрипту, ну а тот уже в БД заносил. |
| Автор: Snowy 27.2.2005, 17:51 | ||||
Добавлено @ 17:55 Но, если у пользователя прокси, то такой номер не пройдет. Тут лучше сказать браузеру, чтобы он открыл твою страничку и передал данные.
Правда в этом случае придется пользователю страничку показывать. |
| Автор: sniron 27.2.2005, 21:52 |
| Snowy, Да конечно 2 вариант примитивный но надежный. Ладно, огромное спасибо! |
| Автор: Александра 28.2.2005, 12:18 | ||
| sniron Snowy фигни не посоветует )) Просто можно немного улучшить идею! можно взять компонент TWebBrowser, кинуть на форму, спрятать его, далее в реестре открыть HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings и считать параметр ProxyServer, где настроен прокси в IE. Далее заставим наш WebBrowser работать через этот прокси и делаем запрос по нужному адресу:
есть конечно другие недостатки, но все же... |
| Автор: Snowy 28.2.2005, 12:46 |
| А зачем TWebBrowser? Это тот же IE. С тем же успехом можно взять эти параметры и отдать их IIdSMTP. В большинстве случаев это даже сработает. Но! Например я сижу за прокси, о котором IE даже не подозревает. А эти строчки набиваю в Opere, которая браузер по умолчанию. Поэтому я и предложил "второй вариант". Ибо он гораздо надежней. Но мой случай редкий. В 80% достаточно просто запроса через IdHTTP. В 95% - если дополнительно взять инфу о прокси из реестра и дать IdHTTP. 99.9%, если использовать второй вариант. Вопрос в том, хотим ли мы, чтобы пользователь знал о том, что мы передаем инфу в инет или нет. Ибо все равно еще есть прокси, пароли... Поэтому проще делать это в открытую. |
| Автор: Александра 28.2.2005, 13:02 |
| Snowy под недостатками я и имела ввиду что-нить типа настроек прокси в Опере )) а вот про натравление idHTTP на прокси не знала |
| Автор: Snowy 28.2.2005, 13:13 |
| У IdHTTP есть свойство ProxyParams. Вот туда можно запихать сервер и порт, которые живут в реестре... Но для прокси обычно требуются еще имя и пароль, которые нам никто не докладывал... Так что знание прокси обычно не сильно помогает. Разве что спросить имя и пароль у пользователя |
| Автор: sniron 28.2.2005, 14:18 |
| Понятно, а если, скажем, от скрипта к приложению требуется передать какое - нить значение. Че делать? |
| Автор: Snowy 28.2.2005, 14:53 |
| Тогда только IdHTTP.Get. Как я писал - он возвращает страниску в один цельный string. Хотя можно конечно попробовать можно попробовать через OLE вызывать експлорер и пытаться забрать у него... Но лучше все же через IdHttp с проверкой на прокси. |
| Автор: sniron 28.2.2005, 15:40 |
| Snowy А примерчик можно, если не трудно |
| Автор: Snowy 28.2.2005, 15:47 | ||
А примерчик все тот же:
Вот в этой s и будет страничка, которую вернет скрипт. Добавлено @ 15:50 Конечно, если удастся соедениться и получить страницу, инаце в s будет что-попало. Поэтому предварительно s нужно занулить. |
| Автор: sniron 28.2.2005, 15:54 |
| Snowy, Так нужна не вся страница а только определенное значение, ведь преемення будет с тегами? |
| Автор: Александра 28.2.2005, 15:58 | ||
| sniron так найди что нужно. а вообше просто скрипт должен вывести тебе то, что тебе необходимо и больше ничего! такой вот левенький пример:
т.е. в итоге ты получишь в результате или ok, если передан верный параметр или страничку. короче это зависит уже от скрипта... |
| Автор: sniron 28.2.2005, 16:32 | ||||
Т.е. наскоко я хорошо понял в результате работы скрипта
и пхп скрипта
я получу переменую s равную слову "ок"? |
| Автор: Александра 1.3.2005, 00:28 |
| sniron совершенно верно!!! ) |