Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Запрос POST с помощью Synapse: как дождаться результата? / 3 сообщений из 3, страница 1 из 1
05.11.2018, 15:56
    #39728132
crossa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос POST с помощью Synapse: как дождаться результата?
Есть веб-страница сайта, на которой находится форма ввода текста и кнопка для отправки данных. При нажатии кнопки сайт получает текст из формы, обрабатывает (в этот момент на веб-странице отображается анимированная картинка LOADER.GIF) и на странице появляется ссылка на скачивание архива ZIP.

Пытаюсь реализовать это в своей программе: она должна отправлять текст на сайт как запрос POST и узнавать ссылку на скачивание архива.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var HTTP: THTTPSend;

URLData := 'text=' + EncodeURLElement(AnsiString(sText));
HTTP.Document.Write(Pointer(URLData)^, Length(URLData));
HTTP.MimeType := 'application/x-www-form-urlencoded';
if HTTP.HTTPMethod('POST', 'http://www.example.com') then
begin
     strlist.Clear;
     strlist.LoadFromStream(HTTP.Document);
end;


Запрос выполняется, но возвращается текст веб-страницы без ссылки на скачивание архива. Запрос возвращает HTML-текст с картинкой LOADER.GIF, то есть запрос не ждет, когда будет сформирован окончательный вариант веб-страницы с ссылкой на архив.

Как дождаться того момента, когда ссылка на скачивание файла появится на странице? Нужен какой-то repeat until, вот только как его реализовать? Подскажите, пожалуйста.
...
Рейтинг: 0 / 0
05.11.2018, 17:51
    #39728177
sql2012
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос POST с помощью Synapse: как дождаться результата?
crossa,

сверяй запросы из браузера и делай как он
...
Рейтинг: 0 / 0
05.11.2018, 18:06
    #39728187
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос POST с помощью Synapse: как дождаться результата?
Первый делом рекомендую по F12 на вкладке "сеть" посмотреть последовательность http запросов -- наверняка там есть и нужный, который напрямую возвращает результат.

Если не поможет по какой-то причине (что очень редко), то надо смотреть код оригинальной страницы, на которой делается запрос. Наверняка там какой-нибудь javascript по таймеру запускается и обрабатывается результат. Рекомендую открыть браузер, нажать F12 и зучить, что вызывается при нажатии. В хроме-фаерфоксе можно прямо через код упасть внутри скрипт на событии и там смотреть.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Запрос POST с помощью Synapse: как дождаться результата? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]