что такое аякс в вашем понимании?
это независимое и постоянно поддерживаемое незакрываемое сокетное соединение?
при чем здесь тогда HttpSendRequest и InternetReadFile ?
Си шарп не подойдёт?
Анализируем запросы-ответы браузером - гугл-хромом. Там и смотрим как браузер "просит". Появляется логика в применении и последовательности команд. Затем применяем язык.... - привязываем к кнопке код...
Как то так...
аякс-запрос сам по себе исключительно асинхронен, вы заранее никогда не можете сказать, в какой момент придут (и придут ли вообще) данные. Поэтому данные появляются только в процессе работы InternetReadFile, если не превышен соответствующий таймаут. Другое дело, что после HttpSendRequest вам доступен дескриптор запроса, а следовательно, и все его текущие и будущие данные, значит, отслеживать можно начинать уже сразу после этого.
Алексей, можете дать какую-нибудь ссылку с более-менее адекватным кодом на с++,
который читаем данные по технологии AJAX ?
что такое аякс в вашем понимании?
это независимое и постоянно поддерживаемое незакрываемое сокетное соединение?
при чем здесь тогда HttpSendRequest и InternetReadFile ?
Смотрю с помощью чарли - для AJAX запроса браузер не устанавливает соединения, а просто посылает GET запрос...
т.е. на уровне сокетов - это обмен данными дэйтаграммами..
Алексей, можете дать какую-нибудь ссылку с более-менее адекватным кодом на с++,
который читаем данные по технологии AJAX ?
В чем конкретно задача, перехватить программно данные запроса?
Смотрю с помощью чарли - для AJAX запроса браузер не устанавливает соединения, а просто посылает GET запрос...
т.е. на уровне сокетов - это обмен данными дэйтаграммами..
В чем конкретно задача, перехватить программно данные запроса?
Задача такова. Читаю в с++ программу XTML страницу.
Все хорошо, но на этой странице есть многостраничная таблица, и мне надо иметь все эти страницы.
Каждая следующая страница таблицы считывается яваскриптом с помощью
AJAX запроса, т.е. адрес HTML страницы не меняется, а меняется только страница таблицы...
т.е. мне надо
1. послать на сервер AJAX запрос, его структуру я знаю.
2. получить данные, который сервер посылает в ответ...
Похоже, что решение возможно только на уровне программирования сокетов без установления соединения - USER DATAGRAM PROTOCOL
Ажакс делает обычные http запросы. Так-что известные здесь всем методы загрузки вебстраницы должны подойти.
После HttpSendRequest надо делать InternetReadFile() (ну или типа того).
Аджкас делает обычные http запросы. Так-что известные здесь всем методы загрузки вебстраницы должны подойти.
После HttpSendRequest надо делать InternetReadFile() (ну или типа того).
Чтобы воспользоваться "Аджкас" нужно писать страничку html. А смысл?
Я же уже сказал выше - как нужно.
Абсолютно по барабану - что там. Много страниц или одна.
Просто нужно найти в запросе именно то, что нужно.
Анализ струкутуры запросов как сделать (их может быть не один десяток) тоже написал выше.
Просто нужно найти в запросе именно тот, который нужен. Тупо забрать его с браузера и воткнуть в HttpRequest со всеми потрохами и настройками по шрифту, браузеру, кодировке и т.п.. Заятнуть ответ странички в строку и вырезать с неё интересующие данные.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Браузер вывел XTML страницу.
На странице есть кнопочка, нашел эту кнопочку в XTML странице - там по нажатию этой кнопочки яваскрипрт посылает
AJAX запрос на сервер. Все данные этого AJAX GET запроса мне доступны(перехватил с помощью Charly)
Хочу из программы на с++ нажать на эту кнопочку и получить себе в программу данные, которые посылает сервер в ответ на этот запрос.
Вопрос: достаточно ли такой вот обычной последовательности для получения данных, которые сервер
прислал в ответ на AJAX GET запрос:
InternetConnect
HttpOpenRequest
HttpSendRequest(GET....) - тут посылаются те же данные, что и яваскрипт
InternetReadFile
InternetCloseHandle
InternetCloseHandle
InternetCloseHandle
И еще смущают один момент после- завершения HttpSendRequest(GET....), данные уже готовы для чтения ?
или надо организовывать асинхронный режим и ждать готовности данных ?