Руководство разработчика

Функция ПОЛУЧИТЬ_ФАЙЛ

Функция ПОЛУЧИТЬ_ФАЙЛ позволяет скачать файл из сети по протоколам http или ftp.

Замечание: для работы функции необходима библиотека gnet3.dll, которая используется также и в Инфо-Бухгалтере 10.

ФУНКЦИЯ ТИП_ЛОГИКА: ПОЛУЧИТЬ_ФАЙЛ(ТИП_СТРОКА: url, путь, опции)

Параметры

url
Ссылка на файл, расположенный на удаленном сервере.
путь
Строковое выражение, путь к файлу на локальной машине, куда будут записаны полученные из сети данные (например, "C:\downloaded.html").
опции
FLAGS:
"S"Показ индикатора статуса загрузки. Если доступен размер загружаемого файла, отображается индикатор прогресса, иначе – количество полученных данных.
"A"Пользователь получает возможность прервать загрузку. Доступна только когда показан индикатор статуса загрузки.
"B"Устарело. Ранее значило "передача бинарного файла" (иначе – текстового).
"D"Устарело. Ранее значило "игнорировать кэш", сейчас кэш не используется никогда, а этот дополнительный параметр игнорируется.
"U"При кодировании полей формы будет использована кодировка utf-8 (по умолчанию используется системная кодировка, для русского языка системы это ANSI cp 1251)
"T"Вывод диагностических сообщений в окно отладки.
Дополнительные параметры:
"TIMEOUT"Таймаут установления соединения и передачи порции данных в миллисекундах. Например, "TIMEOUT:10000" – 10 секунд.
"POST"Список полей формы для POST-запроса: "POST:<имя_поля1>= <значение1>&<имя_поля2>=<значение2>&<...>". Кодирование специальных и национальных символов в именах и значениях производится автоматически. В состав значений полей не должны входить символы "&" и ";" – иначе это приведет к неправильному разбору строки параметров и к ошибке.
"HDR"Заголовки http-запроса. Список пар имя заголовка – значение. Имя заголовка отделяется от значения двоеточием. Пары разделяются символами ascii 13, 10 (СИМВ(13)+СИМВ(10)). Например, "HDR: Content-Type: image/jpeg".

Возвращаемое значение

ДА – получение выполнено успешно, НЕТ – в случае ошибки.

Пример использования

рез = ПОЛУЧИТЬ_ФАЙЛ("http://www.ib.ru/download/download.php",
"c:\temp\ib_ru_reply.html",
"SA; TIMEOUT: 10000; POST: login=Вася&passwd=qwerty&object=Инфо-Бухгалтер")

Примечание: Возможно указание прокси. Для этого нужно поместить файл gnet.ini в одну папку с gnet3.dll (или создать папку config на уровень выше и положить его туда – это место проверяется во вторую очередь). В файле в секции [proxy] нужно указать адрес прокси, логин и пароль:

gnet.ini

[proxy]
address=proxy_address
login=proxy_login
password=proxy_password

В адресе прокси надо указать протокол: http или https, ip-адрес и номер порта. Например, https://127.0.0.1:8080. Если прокси не использует авторизацию, то параметры login и password не указываются или указываются пустыми строками.


См. также: