---
title: Получение файлов из интернета
slug: bsp/получение-файлов-из-интернета
---


## СкачатьФайлНаСервере
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Получает файл из Интернета по протоколу HTTP(s), либо ftp и сохраняет его по указанному пути на сервере.
//
// Параметры:
//   URL                - Строка - url файла в формате [Протокол://]<Сервер>/<Путь к файлу на сервере>.
//   ПараметрыПолучения - см. ПолучениеФайловИзИнтернетаКлиентСервер.ПараметрыПолученияФайла
//   ЗаписыватьОшибку   - Булево - признак необходимости записи ошибки в журнал регистрации при получении файла.
//
// Возвращаемое значение:
//   Структура:
//      * Статус            - Булево - результат получения файла.
//      * Путь   - Строка   - путь к файлу на сервере, ключ используется только если статус Истина.
//      * СообщениеОбОшибке - Строка - сообщение об ошибке, если статус Ложь.
//      * Заголовки         - Соответствие - см. в синтакс-помощнике описание параметра Заголовки объекта HTTPОтвет.
//      * КодСостояния      - Число - добавляется при возникновении ошибки.
//                                    См. в синтакс-помощнике описание параметра КодСостояния объекта HTTPОтвет.
//
Функция СкачатьФайлНаСервере(Знач URL, ПараметрыПолучения = Неопределено, Знач ЗаписыватьОшибку = Истина) Экспорт
```

Пример вызова
```bsl
Результат = ПолучениеФайловИзИнтернета.СкачатьФайлНаСервере(URL, ПараметрыПолучения, ЗаписыватьОшибку);
```
</details>

## СкачатьФайлВоВременноеХранилище
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Получает файл из Интернета по протоколу HTTP(s), либо ftp и сохраняет его во временное хранилище.
// Примечание: после получения файла временное хранилище необходимо самостоятельно очистить
// при помощи метода УдалитьИзВременногоХранилища. Если этого не сделать, то файл будет находиться
// в памяти сервера до конца сеанса.
//
// Параметры:
//   URL                - Строка - url файла в формате [Протокол://]<Сервер>/<Путь к файлу на сервере>.
//   ПараметрыПолучения - см. ПолучениеФайловИзИнтернетаКлиентСервер.ПараметрыПолученияФайла.
//   ЗаписыватьОшибку   - Булево - признак необходимости записи ошибки в журнал регистрации при получении файла.
//
// Возвращаемое значение:
//   Структура:
//      * Статус            - Булево - результат получения файла.
//      * Путь              - Строка   - адрес временного хранилища с двоичными данными файла,
//                            ключ используется, только если статус Истина.
//      * СообщениеОбОшибке - Строка - сообщение об ошибке, если статус Ложь.
//      * Заголовки         - Соответствие - см. в синтакс-помощнике описание параметра Заголовки объекта HTTPОтвет.
//      * КодСостояния      - Число - добавляется при возникновении ошибки.
//                                    См. в синтакс-помощнике описание параметра КодСостояния объекта HTTPОтвет.
//
Функция СкачатьФайлВоВременноеХранилище(Знач URL, ПараметрыПолучения = Неопределено, Знач ЗаписыватьОшибку = Истина) Экспорт
```

Пример вызова
```bsl
Результат = ПолучениеФайловИзИнтернета.СкачатьФайлВоВременноеХранилище(URL, ПараметрыПолучения, ЗаписыватьОшибку);
```
</details>

## НастройкиПроксиНаКлиенте
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает настройку прокси-сервера для доступа в Интернет со стороны
// клиента для текущего пользователя.
//
// Возвращаемое значение:
//    Соответствие из КлючИЗначение:
//      * Ключ - Строка
//      * Значение - Произвольный
//    Ключи:
//      # ИспользоватьПрокси - Булево - использовать ли прокси-сервер.
//      # НеИспользоватьПроксиДляЛокальныхАдресов - Булево - использовать ли прокси-сервер для локальных адресов.
//      # ИспользоватьСистемныеНастройки - Булево - использовать ли системные настройки прокси-сервера.
//      # Сервер       - Строка - адрес прокси-сервера.
//      # Порт         - Число - порт прокси-сервера.
//      # Пользователь - Строка - имя пользователя для авторизации на прокси-сервере.
//      # Пароль       - Строка - пароль пользователя.
//
Функция НастройкиПроксиНаКлиенте() Экспорт
```

Пример вызова
```bsl
Результат = ПолучениеФайловИзИнтернета.НастройкиПроксиНаКлиенте() 
```
</details>

## НастройкиПроксиНаСервере
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает параметры настройки прокси-сервера на стороне сервера 1С:Предприятия.
//
// Возвращаемое значение:
//   Соответствие из КлючИЗначение:
//     * Ключ - Строка
//     * Значение - Произвольный
//    Ключи:
//      # ИспользоватьПрокси - Булево - использовать ли прокси-сервер.
//      # НеИспользоватьПроксиДляЛокальныхАдресов - Булево - использовать ли прокси-сервер для локальных адресов.
//      # ИспользоватьСистемныеНастройки - Булево - использовать ли системные настройки прокси-сервера.
//      # Сервер       - Строка - адрес прокси-сервера.
//      # Порт         - Число - порт прокси-сервера.
//      # Пользователь - Строка - имя пользователя для авторизации на прокси-сервере.
//      # Пароль       - Строка - пароль пользователя.
//
Функция НастройкиПроксиНаСервере() Экспорт
```

Пример вызова
```bsl
Результат = ПолучениеФайловИзИнтернета.НастройкиПроксиНаСервере() 
```
</details>

## ПолучитьПрокси
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает объект ИнтернетПрокси для доступа в Интернет.
// Допустимые протоколы для создания ИнтернетПрокси HTTP, https, ftp и ftps.
//
// Параметры:
//    URLИлиПротокол - Строка - url в формате [Протокол://]<Сервер>/<Путь к файлу на сервере>,
//                              либо идентификатор протокола (HTTP, ftp, ...).
//
// Возвращаемое значение:
//    ИнтернетПрокси - описывает параметры прокси-серверов для различных протоколов.
//                     Если не удалось распознать схему сетевой протокол,
//                     то будет создать прокси на основании протокола HTTP.
//
Функция ПолучитьПрокси(Знач URLИлиПротокол) Экспорт
```

Пример вызова
```bsl
Результат = ПолучениеФайловИзИнтернета.ПолучитьПрокси(URLИлиПротокол) 
```
</details>

## ДиагностикаСоединения
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Запускает диагностику сетевого ресурса.
// В модели сервиса возвращается только описание ошибки.
//
// Параметры:
//  URL - Строка - адрес URL ресурса, диагностику которого надо выполнить.
//  ЗаписыватьОшибку - Булево - признак необходимости записи ошибок в журнал регистрации.
//  ПроверятьДоставкуПакетов - Булево - включать в диагностику команду PING к требуемому ресурсу URL.
//  ТекстОшибки - Строка - исходный текст исключения.
//
// Возвращаемое значение:
//  Структура:
//    *  ОписаниеОшибки    - Строка - краткое описание ошибки.
//    *  ЖурналДиагностики - Строка - подробный журнал диагностики с техническими подробностями.
//
// Пример:
//	// Диагностика веб-сервиса адресного классификатора.
//	Результат = ПолучениеФайловИзИнтернета.ДиагностикаСоединения("https://api.orgaddress.1c.com/orgaddress/v1?wsdl");
//
//	ОписаниеОшибки    = Результат.ОписаниеОшибки;
//	ЖурналДиагностики = Результат.ЖурналДиагностики;
//
Функция ДиагностикаСоединения(URL, ЗаписыватьОшибку = Истина, ПроверятьДоставкуПакетов = Истина, ТекстОшибки = "") Экспорт
```

Пример вызова
```bsl
Результат = ПолучениеФайловИзИнтернета.ДиагностикаСоединения(URL, ЗаписыватьОшибку, ПроверятьДоставкуПакетов, ТекстОшибки);
```
</details>

## ТаймаутЗагрузкиФайла
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Определяет значение таймаута в секундах для загрузки файла в зависимости от размера этого файла.
// Если известен размер файла, то размер в мегабайтах * 128, иначе
// предельное время загрузки, но не более 43200.
// Минимальный таймаут - 30, это время необходимое для установки соединения.
//
// Параметры:
//  Размер - Число - размер файла в байтах.
//
// Возвращаемое значение:
//  Число
//
Функция ТаймаутЗагрузкиФайла(Размер) Экспорт
```

Пример вызова
```bsl
Результат = ПолучениеФайловИзИнтернета.ТаймаутЗагрузкиФайла(Размер) 
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
