| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > WebBrowser |
| Автор: GSV 22.11.2007, 12:34 |
| Всем доброго! Использую Delphi 7. Есть страничка (именно страничка, а не ссылка на файл) в инете, при переходе (в IE) на неё формируется файл и предлагается его сохранить. Если использую WebBrowser1.Navigate(<адрес страницы>) выскакивает тоже окно с предложением сохранить. Как сделать так, чтобы окно это не появлялось и сохранять в уже конкретный файл. |
| Автор: Snowy 22.11.2007, 12:39 |
| Скачать его самому и сохранить. Без участия WB. IE просто не имеет права делать это по тихому... |
| Автор: GSV 22.11.2007, 12:47 |
| Имя файла допустим известно, но файла такого там нет. Он генерится, если перейти по ссылке. В адресе передаются параметры, от которых зависит наполнение этого файла (даты периода): http://www.<...>day1=20070901&day2=20071122 |
| Автор: Snowy 22.11.2007, 12:58 |
| Файл обязан генерится по запросу. Он получается http запросом, в котором эти данные есть. Просто нужно изучить запрос получения данного файла и сгенерировать такой же со своими данными. По http запросу отдаётся всего один файл. Поэтому связь со страницей может быть только на уровне печенья и параметров запроса. Не более. Посему, страница не интересует. Если дать правильно запрос, то файл будет получен одним запросом в любом случае. Кроме случая кривых рук программера серверной части. То есть случая, когда при входе на страницу реально генерируется файл. Но в этом случае, создатель скрипта - идиот. |
| Автор: GSV 22.11.2007, 13:16 |
| Т.е нужно передать правильно сформированный запрос, потом скачать файл с заданным именем (имя я знаю)? |
| Автор: Snowy 22.11.2007, 13:31 |
| Файл ты получишь как раз в ответ на отправленный запрос. А как отправлять сей запрос - выбор широкий. На форуме куча вариантов. Главное определить, что шлёт браузер и послать такие же данные. |
| Автор: GSV 22.11.2007, 13:35 |
| Понял, спасибо, буду пробывать. |
| Автор: GSV 22.11.2007, 14:16 | ||
Пытаюсь послать запрос средством IdHTTP
Долго думает и выдаёт ошибку: Socket Error #10065 No route to host |
| Автор: Snowy 22.11.2007, 14:39 |
| Значит нужно указать прокси сервер. |
| Автор: GSV 22.11.2007, 14:49 |
| Блин, спасибо, всё заработало. |