:: Visual Foxpro, Foxpro for DOS
Можно ли массово получить сведения с сайта?
seg856

Сообщений: 272
Дата регистрации: 23.09.2010
Имеется сторонний сайт, на котором в поле ввода вносится номер медполиса, нажимается кнопка, и ниже на странице выдается результат: "Полис 6743274785773 не действителен" или "Полис 8957857878433 действителен".
Пусть у меня в табличке есть список полисов, которые нужно проверить, как это примерно сделать в программе foxpro?
Ratings: 0 negative/0 positive
Re: Можно ли массово получить сведения с сайта?
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Зависит от того как именно работает этот сайт, от наличия капчи, наличия защиты от массовых запросов... В общем случае обычными MSXML2.XMLHTTP запросами с разбором полученного html кода.
Лучше, конечно, договориться с владельцем ресурса и использовать АПИ - т.е. специальный интерфейс где только нужные данные по нужным параметрам возвращаются. Работа с таким веб-сервисом будет организована аналогично - только там не надо парится с капчами, сменой формата запросов, сменой внешнего вида страницы ответа и т.п.
Если это госсайт, то скорее всего там уже и так есть АПИ для подобных целей.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Можно ли массово получить сведения с сайта?
seg856

Сообщений: 272
Дата регистрации: 23.09.2010
Сайт makc-m31.ru
Никакой капчи нет.
Какими функциями можно сэмулировать нажатие на кнопку и проанализировать страницу?
Ratings: 0 negative/0 positive
Re: Можно ли массово получить сведения с сайта?
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Если через XMLHTTP, то посниферить, и сделать также. Навскидку (сейчас в IE есть смотрелка, что посылалось, и что получено через HMLHTTP) видно, что посылаются 3 детали:
СНИЛС в открытом виде,
какое-то читаемое слово (после URL-раскодирования оказалось просто "Выполнить+проверку" - имя кнопки),
и 3-е - какое-то длинное закодированное нечто...

Доб. не 3 а 5 параметров (как и 3-е, еще 2 каких-то непонятных. Кончаются на символы "==", значит типа Base64, но раскодирование возвращает какой-то бинарный код), может там что-то и закодировано, но можно попробовать просто скопировать из запроса своей машины и передать их на сервер...



Исправлено 2 раз(а). Последнее : of63, 21.05.18 14:30
Ratings: 0 negative/0 positive
Re: Можно ли массово получить сведения с сайта?
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Не надо никаких "кнопок нажимать". Посылается POST запрос на адрес с нужными параметрами. Результат разбирается например при помощи регулярных выражений. Совсем "по тупому" - посмотреть куски html-я перед и после нужного "сообщения" и тупо через AT() их искать, и вынимать то что между ними.
Параметры для POST запроса можно посмотреть в браузере. Теоретически их надо взять из первого GET запроса к данному адресу (в html коде они в тегах input находятся). В заголовках важны:
Content-Length, Content-Type, наверное ещё и Referer. Host пропишет сам класс MSXML2.XMLHTTPRequest.
Поиск по форуму даёт МАССУ примеров.


------------------
WBR, Igor
Ratings: 0 negative/0 positive


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

On-line: 31 (Гостей: 31)

© 2000-2024 Fox Club 
Яндекс.Метрика