---
id: FTP
sidebar_class_name: FTP
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP, FTPS]
---

<img src={require('../../static/img/APIs/FTP.png').default} width='64px' />

# FTP(s)

Этот раздел посвящен библиотеке для работы с протоколом FTP(s) в 1С:Предприятие, OneScript и CLI. На данной странице описаны все действия, необходимые для полноценного начала работы

<div class="theme-admonition theme-admonition-info admonition_node_modules-@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module alert alert--info">

<img src={require('../../static/img/addin.png').default} class="tipimage" />
<div class="addin">Для реализации некоторых функции в этой библиотеке используется внешняя компонента <br/>
Пожалуйста, ознакомьтесь с разделом ["О внешних компонентах"](/docs/Start/Component-requirements) перед началом работы</div>
</div>

## Начало работы

Данная библиотека предоставляет различные методы работы с FTP(s) на стороне клиента. Каждый из них принимает в качестве первого параметра `Соединение`, значение которого может быть получено одним из двух способов:

1. При помощи функции `ОткрытьСоединение`. В этом случае возвращается объект компоненты, поддерживающий единое соединение для множества запросов
2. При помощи функции `ПолучитьКонфигурациюСоединения`. В этом случае возвращается лишь структура описания соединения. Каждая функция, в которую эта структура будет передана в качестве `Соединения`, будет создавать новое подключение внутри себя и закрывать его по окончании работы

При выполнении множественных последовательных запросов к серверу FTP рекомендуется использовать полноценное соединение, получаемое при помощи функции `ОткрытьСоединение`

## Использование прокси

Данный клиент поддерживает создание соединения через прокси сервер. Получить структуру настроек прокси можно при помощи функции `ПолучитьНастройкиПрокси`. Полученная структура, далее, должна быть передана в функцию `ОткрытьСоединение` или `ПолучитьКонфигурациюСоединения` при начале работы

```bsl

    ...

    ТипПрокси = "http"; // http, socks5, socks4

    АдресПрокси  = "127.0.0.1";
    ПортПрокси   = "8071";
    ЛогинПрокси  = "proxyuser";
    ПарольПрокси = "12we...";

    НастройкиПрокси = OPI_FTP.ПолучитьНастройкиПрокси(АдресПрокси, ПортПрокси, ТипПрокси, ЛогинПрокси, ПарольПрокси);

    Соединение = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTLS);

```

Поддерживается работа через SOCKS4, SOCKS5 и HTTP-прокси серверы

:::warning
Работа через http-прокси является экспериментальной и может быть нестабильной в зависимости от реализации прокси-сервера, его настроек и возможностей. Рекомендуется по возможности использовать SOCKS-прокси для стабильной передачи трафика
:::

## FTPS (TLS)

Также клиент поддерживает защищенное соединение через  FTPS (FTP over TLS). Для его включения необходимо передать структуру настроек в функцию `ОткрытьСоединение` или `ПолучитьКонфигурациюСоединения` при начале работы. Структура настроек может быть получена при помощи функции `ПолучитьНастройкиTls`

```bsl

    ...

    НастройкиTLS = OPI_FTP.ПолучитьНастройкиTLS(Истина);
    Соединение   = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTLS);

```
