Функция ПОЛУЧИТЬ_ФАЙЛ
Функция ПОЛУЧИТЬ_ФАЙЛ позволяет скачать файл из сети по протоколам 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 не указываются или указываются пустыми строками.