![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Mach3 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 26.11.2005 Репутация: 3 Всего: 2 |
Добрый день..
Никогда не сталкивался с обработкой скриптов, посему прошу сильно не ругать.. Вобщем загружаю код странички.. Получаю текст объявления. Контакт продавца скрыт скриптом. (мол надо кликнуть мышкой) Нужная мне информация находится здесь:
Подскажите куда копать.. Спасибо.. Это сообщение отредактировал(а) Mach3 - 16.3.2011, 15:29 --------------------
Век живи - век учись... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
1. Искать компоненты.
2. Попробовать через TWebBrowser. Добавлено через 46 секунд Искать пробовали? http://www.google.com/search?ie=UTF-8&...lphi+JavaScript |
|||
|
||||
| Mach3 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 26.11.2005 Репутация: 3 Всего: 2 |
Спасибо.
Подскажите, я правильно понимаю то, что происходит при клике по ссылке: На onclick обработчику посылается запрос our_common_ajax_processor с параметрами (document.getElementById('place_for_contacts'), true, {'mode' : 'show_bull_contacts_newstyle', 'submode' : 'onclick', 'bull_id' : 4764150, 'is_archive' : 0, 'h' : ''}, '', '/auto/?newstyle=1&bull_id=4764150&crossdomain_ajax_request=1') Так? --------------------
Век живи - век учись... |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
our_common_ajax_processor - это функция на JS
Выполнять её не в контексте браузера нет смысла. Нужно просто взять её код и перевести на Delphi. |
|||
|
||||
| Mach3 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 26.11.2005 Репутация: 3 Всего: 2 |
А где находится описание(код) этой функции?
--------------------
Век живи - век учись... |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Может проще посмотреть http отладчиком, что посылает и получает браузер, и просто проэмулировать его действия для получения текста объявления? Ведь ajax сводится в итоге к GET или POST запросам.
-------------------- There are always someone smarter than you... |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
||||
|
||||
| cat512 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 438 Регистрация: 20.3.2007 Репутация: 7 Всего: 15 |
Попробуй так:
Незабудь подключить модуль mshtml Это сообщение отредактировал(а) cat512 - 16.3.2011, 19:12 |
|||
|
||||
| Mach3 |
|
||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 26.11.2005 Репутация: 3 Всего: 2 |
При клике на линк HTTPanalyzer показал отправку GET запроса с следующими параметрами:
Эмулируя данный запрос в программе, получаю контент с нужной мне информацией:
Фактически в запросе меняется только параметр bull_id (номер объявления); Так же меняются:
Но оставляя их неизменными все проходит на ура! Для чего нужны данные параметры? Код функции our_common_ajax_processor вроде нашел:
Если не трудно, не могли бы вы в двух словах описать суть работы этой функции.. Спасибо. To cat512 Ваш вариант попробовал, но контакты не "открылись". Просто загрузилась страничка с объявлением. Суть предложенного вами способа понял. Поэксперементирую. =)) Спасибо. Это сообщение отредактировал(а) Mach3 - 17.3.2011, 05:16 --------------------
Век живи - век учись... |
||||||||
|
|||||||||
| cat512 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 438 Регистрация: 20.3.2007 Репутация: 7 Всего: 15 |
PHPSESSID нужно передавать как есть (т.е. трогать не надо). Он служит для идентификации сессии пользователя (контекста сеанса), в котором сохраняються нужные параметры на сервере( например признак успешности аутентификации и др.). По идее PHPSESSID меняться не должен, в промежутке времени от первого коннекта, до уничтожения екзэмпляра браузера
Это сообщение отредактировал(а) cat512 - 17.3.2011, 05:18 |
|||
|
||||
| Mach3 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 26.11.2005 Репутация: 3 Всего: 2 |
Судя по всему PHPSESSID хранится в кукисах..
Т.е. мне необходимо сначало принять куки от сервера, получить PHPSESSID и только потом составлять запрос? --------------------
Век живи - век учись... |
|||
|
||||
| cat512 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 438 Регистрация: 20.3.2007 Репутация: 7 Всего: 15 |
Однозначно. PHPSESSID может передаваться как через кукисы так и через скриптовые переменные, а также через параметры GET/POST запросов.
Добавлено через 3 минуты и 15 секунд На мой взгляд, наиболее удачный вариант, не разматывать/модифицировать структуры/функции скрипта, а програмно кликнуть по ссылке. В этом случае гарантируется, что на сервер уйдёт всё что надо. |
|||
|
||||
| Mach3 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 26.11.2005 Репутация: 3 Всего: 2 |
Так и есть! --------------------
Век живи - век учись... |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
а на мой взгляд логичнее залогиниться первым запросом, сохранить нужные куки для дальнейшей работы "авторизованным" пользователем, и эмулировать запросы браузера. Накой тянуть абсолютное ненужный в этой задаче TWebBrower -------------------- There are always someone smarter than you... |
|||
|
||||
| Mach3 |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 26.11.2005 Репутация: 3 Всего: 2 |
Доброго времени суток..
В общем, перестало все работать =(.. Теперь, эмулируя запрос с параметрами
получаю следующий контент
Номер верный, за исключением кода оператора (выделен розовым цветом). в запросе меняется единственный параметр: _:1320066935928 Понять, откуда он берется, никак не могу.. бьюсь вторые сутки.. Может кому-нибудь есть что посоветовать?! Пока стараюсь воздерживаться от использования TWebBrowser. --------------------
Век живи - век учись... |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |