-
Уважаемые мастера, какими способами можно загрузить файл из интернета? Стоит задача загрузить файл и обработать его. Есть ограничения среды разработки - это не чистый делфи, а DelphiScript, фактически урезанный делфи. Найденные здесь и на других ресурсах способы не подходят: InetAPI (OpenInternet и т.д.) использовать нельзя; THTTP, TidHTTP также не получается. Опробованные мной способы: 1. Компонента TExplorer (по сути тот же TWebBrowser - обертка для AtiveX компоненты от микрософта). 2. CreateOleObject('InternetExplorer.Application'). 3. ShellExecute(Handle, 'open', '<URL>', ...). По сути эти три способа есть обращение к одному и тому же объекту. Навигация, в принципе, возможна, но проблема в том, что Explorer не знает типа загружаемого файла (.tsv) и выдает стандартное окно с запросом (Найти соответствие, Сохранить, Отмена). Поскольку процедура загрузки должна выполняться автоматически, никакие дополнительные запросы неприемлемы. Как обойти этот запрос и сохранить файл на диск, я не нашел. В принципе, если это удастся сделать, будет достаточно. 4. Пытался даже загрузить через xml: xmlDoc := CreateOleObject('MSXML.DOMDocument'); if xmlDoc.Load(URL) then ... Однако, он, видать, не может грузить не-xml файлы.
В общем, какие еще есть способы загрузить файл без дополнительных вопросов?
-
оле + xmlhttprequest
-
-
> Separator © (12.11.09 13:26) [2] Этот метод я тоже находил. Не получается. Поэтому я в своем вопросе и упомянул об этом. > InetAPI (OpenInternet и т.д.) использовать нельзя
> Медвежонок Пятачок © (12.11.09 11:28) [1] О! А вот так получилось, грузит. В MSXML SDK этот интерфейс находится в разделе Helper API. Очевидно, он используется самим MSXML для загрузки. Большое спасибо за наводку!
-
Если кому-нибудь понадобится на будущее, код в три строки:
v := CreateOleObject('MSXML2.XMLHTTP');
v.Open('GET', 'http://cbrates.rbc.ru/tsv/840/2009/11/12.tsv', False);
v.Send;
ShowMessage(v.StatusText);
-
Упс, ошибочка...
ShowMessage(v.ResponseText);
-
Удалено модератором Примечание: Спам
-
Bel, тебе респект и уважуха! Самому нужно было открывать файл Онлайн..
-
Удалено модератором
|