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

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

# SFTP

Этот раздел посвящен библиотеке для работы с протоколом SFTP в 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>

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

<img src={require('../../static/img/lock.png').default} class="tipimage" />
<div class="addin">Для работы этой библиотеки на Linux необходим **OpenSSL 3.x** <br/>
Узнать больше: <a href="/docs/Start/Component-requirements#openssl" class="orangelink">"Об использовании OpenSSL во внешних компонентах"</a></div>
</div>


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

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

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

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

После формирования соединения, оно может быть использовано при работе с остальными методами библиотеки для выполнения конкретных задач

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

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

```bsl

    ...

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

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

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

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

```

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

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

## Совместимость с библиотекой SSH

Библиотеки SFTP и SSH имеют общий формат соединения. Это значит, что при работе с SFTP вы также можете вызывать команды `sh`, передавая в методы библиотеки SSH уже существующий объект соединения

