Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WebBrowser, Автосохранение 
V
    Опции темы
GSV
Дата 22.11.2007, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пока в Росии



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.12.2005

Репутация: нет
Всего: нет



Всем доброго!
Использую Delphi 7.
Есть страничка (именно страничка, а не ссылка на файл) в инете, при переходе (в IE) на неё формируется файл и предлагается его сохранить.
Если использую WebBrowser1.Navigate(<адрес страницы>) выскакивает тоже окно с предложением сохранить.
Как сделать так, чтобы окно это не появлялось и сохранять в уже конкретный файл. 
PM MAIL   Вверх
Snowy
Дата 22.11.2007, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Скачать его самому и сохранить.
Без участия WB. 
IE просто не имеет права делать это по тихому...
PM MAIL   Вверх
GSV
Дата 22.11.2007, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пока в Росии



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.12.2005

Репутация: нет
Всего: нет



Имя файла допустим известно, но файла такого там нет. Он генерится, если перейти по ссылке.
В адресе передаются параметры, от которых зависит наполнение этого файла (даты периода):
http://www.<...>day1=2007090...p;day2=20071122
PM MAIL   Вверх
Snowy
Дата 22.11.2007, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Файл обязан генерится по запросу.
Он получается http запросом, в котором эти данные есть.
Просто нужно изучить запрос получения данного файла и сгенерировать такой же со своими данными.
По http запросу отдаётся всего один файл.
Поэтому связь со страницей может быть только на уровне печенья и параметров запроса. Не более.
Посему, страница не интересует.
Если дать правильно запрос, то файл будет получен одним запросом в любом случае.
Кроме случая кривых рук программера серверной части.
То есть случая, когда при входе на страницу реально генерируется файл.
Но в этом случае, создатель скрипта - идиот.
PM MAIL   Вверх
GSV
Дата 22.11.2007, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пока в Росии



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.12.2005

Репутация: нет
Всего: нет



Т.е нужно передать правильно сформированный запрос, потом скачать файл с заданным именем (имя я знаю)?
PM MAIL   Вверх
Snowy
Дата 22.11.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Файл ты получишь как раз в ответ на отправленный запрос.
А как отправлять сей запрос - выбор широкий.
На форуме куча вариантов.
Главное определить, что шлёт браузер и послать такие же данные.
PM MAIL   Вверх
GSV
Дата 22.11.2007, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пока в Росии



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.12.2005

Репутация: нет
Всего: нет



Понял, спасибо, буду пробывать.
PM MAIL   Вверх
GSV
Дата 22.11.2007, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пока в Росии



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.12.2005

Репутация: нет
Всего: нет



Пытаюсь послать запрос средством IdHTTP
Код

procedure TForm1.Button1Click(Sender: TObject);
var
    HTTP:TidHTTP;
    pagebody       :AnsiString;
begin
    HTTP:=TidHTTP.Create(nil);
    ShowMessage(HTTP.Get('http://www.rts.ru/ru/index/stat/dailyhistorycsv.html?code=RTSI&day1=20070901&day2=20071122'));

end;

Долго думает и выдаёт ошибку: Socket Error #10065 No route to host
PM MAIL   Вверх
Snowy
Дата 22.11.2007, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Значит нужно указать прокси сервер.
PM MAIL   Вверх
GSV
Дата 22.11.2007, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пока в Росии



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.12.2005

Репутация: нет
Всего: нет



Блин, спасибо, всё заработало. smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.