You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
Main build (Jenkins)
This commit is contained in:
5
docs/en/data/FTP/CreateConnection.json
vendored
Normal file
5
docs/en/data/FTP/CreateConnection.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"Domain": "127.0.0.1",
|
||||
"Password": "12we...",
|
||||
"ProxyAddress": "127.0.0.1"
|
||||
}
|
4
docs/en/data/FTP/GetWelcomeMessage.json
vendored
Normal file
4
docs/en/data/FTP/GetWelcomeMessage.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Domain": "127.0.0.1",
|
||||
"Password": "12we..."
|
||||
}
|
19
docs/en/examples/FTP/CreateConnection.txt
vendored
Normal file
19
docs/en/examples/FTP/CreateConnection.txt
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
Domain = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
|
||||
// Simple connection
|
||||
|
||||
FTPSettings = OPI_FTP.GetConnectionSettings(Domain, 21);
|
||||
Result = OPI_FTP.CreateConnection(FTPSettings);
|
||||
|
||||
// TLS connection through proxy
|
||||
|
||||
FTPDomain = "172.33.0.11";
|
||||
ProxyAddress = "127.0.0.1";
|
||||
|
||||
FTPSettings = OPI_FTP.GetConnectionSettings(FTPDomain, 21, Login, "12we3456!2154");
|
||||
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, 1080, "socks5", "proxyuser", Password);
|
||||
TLSSettings = OPI_FTP.GetTlsSettings(True);
|
||||
|
||||
Result = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
|
8
docs/en/examples/FTP/GetWelcomeMessage.txt
vendored
Normal file
8
docs/en/examples/FTP/GetWelcomeMessage.txt
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
Domain = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
|
||||
FTPSettings = OPI_FTP.GetConnectionSettings(Domain, 21, Login, Password);
|
||||
Connection = OPI_FTP.CreateConnection(FTPSettings);
|
||||
|
||||
Result = OPI_FTP.GetWelcomeMessage(Connection);
|
41
docs/en/md/FTP/Common-methods/Close-connection.mdx
vendored
Normal file
41
docs/en/md/FTP/Common-methods/Close-connection.mdx
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
description: Close connection and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
||||
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Close connection
|
||||
Explicitly closes the passed connection
|
||||
|
||||
|
||||
|
||||
`Function CloseConnection(Val Connection) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Connection | - | Arbitrary | ✔ | AddIn object with open connection |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue - Result of connection termination
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** this method is not available in CLI version
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
61
docs/en/md/FTP/Common-methods/Create-connection.mdx
vendored
Normal file
61
docs/en/md/FTP/Common-methods/Create-connection.mdx
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
description: Create Connection and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
||||
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Create Connection
|
||||
Creates an FTP connection with the specified settings
|
||||
|
||||
|
||||
|
||||
`Function CreateConnection(Val FTPSettings, Val Proxy = Undefined, Val Tls = Undefined) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| FTPSettings | - | Structure Of KeyAndValue | ✔ | FTP settings. See GetConnectionSettings |
|
||||
| Proxy | - | Structure Of KeyAndValue | ✖ | Proxy settings, if required. See GetProxySettings |
|
||||
| Tls | - | Structure Of KeyAndValue | ✖ | TLS settings, if necessary. See GetTlsSettings |
|
||||
|
||||
|
||||
Returns: Arbitrary - Client object or map with error information
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** this method is not available in CLI version
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Domain = "127.0.0.1";
|
||||
Login = "bayselonarrend";
|
||||
Password = "12we...";
|
||||
|
||||
// Simple connection
|
||||
|
||||
FTPSettings = OPI_FTP.GetConnectionSettings(Domain, 21);
|
||||
Result = OPI_FTP.CreateConnection(FTPSettings);
|
||||
|
||||
// TLS connection through proxy
|
||||
|
||||
FTPDomain = "172.33.0.11";
|
||||
ProxyAddress = "127.0.0.1";
|
||||
|
||||
FTPSettings = OPI_FTP.GetConnectionSettings(FTPDomain, 21, Login, "12we3456!2154");
|
||||
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, 1080, "socks5", "proxyuser", Password);
|
||||
TLSSettings = OPI_FTP.GetTlsSettings(True);
|
||||
|
||||
Result = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
46
docs/en/md/FTP/Common-methods/Get-connection-configuration.mdx
vendored
Normal file
46
docs/en/md/FTP/Common-methods/Get-connection-configuration.mdx
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
description: Get connection configuration and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
||||
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get connection configuration
|
||||
Forms a complete structure of connection settings that can be used instead of the actual connection when calling other functions
|
||||
|
||||
|
||||
|
||||
`Function GetConnectionConfiguration(Val FTPSettings, Val Proxy = Undefined, Val Tls = Undefined) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| FTPSettings | --set | Structure Of KeyAndValue | ✔ | FTP settings. See GetConnectionSettings |
|
||||
| Proxy | --proxy | Structure Of KeyAndValue | ✖ | Proxy settings, if required. See GetProxySettings |
|
||||
| Tls | --tls | Structure Of KeyAndValue | ✖ | TLS settings, if necessary. See GetTlsSettings |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue - Connection settings structure
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Can be passed as the `Connection` parameter in other functions instead of the actual connection from the `CreateConnection` function.
|
||||
|
||||
At the same time, a new connection will be opened and closed within the called function
|
||||
|
||||
Using the connection configuration is not recommended for multiple requests to the FTP server. This functionality is primarily intended for the CLI version of OInt, where maintaining a connection between calls is not possible
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
42
docs/en/md/FTP/Common-methods/Get-connection-settings.mdx
vendored
Normal file
42
docs/en/md/FTP/Common-methods/Get-connection-settings.mdx
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
description: Get connection settings and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
||||
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get connection settings
|
||||
Creates a structure of FTP connection settings
|
||||
|
||||
|
||||
|
||||
`Function GetConnectionSettings(Val Domain, Val Port = 21, Val Login = Undefined, Val Password = Undefined, Val Passive = True, Val ReadTimeout = 120, Val WriteTimeout = 120) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Domain | --host | String | ✔ | Server domain |
|
||||
| Port | --port | Number | ✖ | Server port |
|
||||
| Login | --login | String, Undefined | ✖ | Username for authorization, if required |
|
||||
| Password | --pass | String, Undefined | ✖ | User password for authorization, if required |
|
||||
| Passive | --passive | Boolean | ✖ | Passive connection mode |
|
||||
| ReadTimeout | --rtout | Number | ✖ | Read timeout |
|
||||
| WriteTimeout | --wtout | Number | ✖ | Write timeout |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue - Connection settings structure
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
40
docs/en/md/FTP/Common-methods/Get-proxy-settings.mdx
vendored
Normal file
40
docs/en/md/FTP/Common-methods/Get-proxy-settings.mdx
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
description: Get proxy settings and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
||||
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get proxy settings
|
||||
Creates a structure of proxy server settings for the connection
|
||||
|
||||
|
||||
|
||||
`Function GetProxySettings(Val Address, Val Port, Val View = "socks5", Val Login = Undefined, Val Password = Undefined) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Address | --addr | String | ✔ | Proxy address |
|
||||
| Port | --port | Number | ✔ | Proxy port |
|
||||
| View | --type | String | ✖ | Proxy type: socks5, socks4, http |
|
||||
| Login | --login | String, Undefined | ✖ | Authorization login, if required |
|
||||
| Password | --pass | String, Undefined | ✖ | Authorization password, if required |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue - Proxy settings structure
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
41
docs/en/md/FTP/Common-methods/Get-tls-settings.mdx
vendored
Normal file
41
docs/en/md/FTP/Common-methods/Get-tls-settings.mdx
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 7
|
||||
description: Get TLS Settings and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
||||
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Get TLS Settings
|
||||
Forms settings for using TLS
|
||||
|
||||
|
||||
|
||||
`Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| DisableCertVerification | --trust | Boolean | ✔ | Allows to work with invalid certificates, including self signed |
|
||||
| CertFilepath | --cert | String | ✖ | Path to the root PEM file of the certificate if it is not in the system repository |
|
||||
|
||||
|
||||
Returns: Structure Of KeyAndValue - Structure of TLS connection settings
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Tls settings can only be set when a connection is created: explicitly, by using the `OpenConnection` function or implicit, when passing settings
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
41
docs/en/md/FTP/Common-methods/Is-connector.mdx
vendored
Normal file
41
docs/en/md/FTP/Common-methods/Is-connector.mdx
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
description: Is connector and other functions to work with FTP in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
||||
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Is connector
|
||||
Checks that the value is an AddIn object for working with FTP
|
||||
|
||||
|
||||
|
||||
`Function IsConnector(Val Value) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Value | - | Arbitrary | ✔ | Value to check |
|
||||
|
||||
|
||||
Returns: Boolean - Is connector
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** this method is not available in CLI version
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
4
docs/en/md/FTP/Common-methods/_category_.json
vendored
Normal file
4
docs/en/md/FTP/Common-methods/_category_.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "Common methods",
|
||||
"position": "2"
|
||||
}
|
5
docs/ru/data/FTP/ОткрытьСоединение.json
vendored
Normal file
5
docs/ru/data/FTP/ОткрытьСоединение.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"Домен": "127.0.0.1",
|
||||
"Пароль": "12we...",
|
||||
"АдресПрокси": "127.0.0.1"
|
||||
}
|
4
docs/ru/data/FTP/ПолучитьПриветственноеСообщение.json
vendored
Normal file
4
docs/ru/data/FTP/ПолучитьПриветственноеСообщение.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"Домен": "127.0.0.1",
|
||||
"Пароль": "12we..."
|
||||
}
|
19
docs/ru/examples/FTP/ОткрытьСоединение.txt
vendored
Normal file
19
docs/ru/examples/FTP/ОткрытьСоединение.txt
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
Домен = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
|
||||
// Простое подключение
|
||||
|
||||
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Домен, 21);
|
||||
Результат = OPI_FTP.ОткрытьСоединение(НастройкиFTP);
|
||||
|
||||
// Подключение по TLS через прокси
|
||||
|
||||
ДоменFTP = "172.33.0.11";
|
||||
АдресПрокси = "127.0.0.1";
|
||||
|
||||
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(ДоменFTP, 21, Логин, "12we3456!2154");
|
||||
НастройкиПрокси = OPI_FTP.ПолучитьНастройкиПрокси(АдресПрокси, 1080, "socks5", "proxyuser", Пароль);
|
||||
НастройкиTLS = OPI_FTP.ПолучитьНастройкиTls(Истина);
|
||||
|
||||
Результат = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTLS);
|
8
docs/ru/examples/FTP/ПолучитьПриветственноеСообщение.txt
vendored
Normal file
8
docs/ru/examples/FTP/ПолучитьПриветственноеСообщение.txt
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
Домен = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
|
||||
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Домен, 21, Логин, Пароль);
|
||||
Соединение = OPI_FTP.ОткрытьСоединение(НастройкиFTP);
|
||||
|
||||
Результат = OPI_FTP.ПолучитьПриветственноеСообщение(Соединение);
|
41
docs/ru/md/FTP/Common-methods/Close-connection.mdx
vendored
Normal file
41
docs/ru/md/FTP/Common-methods/Close-connection.mdx
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
description: Закрыть соединение и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
|
||||
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Закрыть соединение
|
||||
Явно закрывает переданное соединение
|
||||
|
||||
|
||||
|
||||
`Функция ЗакрытьСоединение(Знач Соединение) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Соединение | - | Произвольный | ✔ | Объект компоненты с открытым соединением |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Результат закрытия соединения
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** данный метод недоступен для использования в CLI версии
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
61
docs/ru/md/FTP/Common-methods/Create-connection.mdx
vendored
Normal file
61
docs/ru/md/FTP/Common-methods/Create-connection.mdx
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
description: Открыть соединение и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
|
||||
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Открыть соединение
|
||||
Открывает FTP соединение с указанными настройками
|
||||
|
||||
|
||||
|
||||
`Функция ОткрытьСоединение(Знач НастройкиFTP, Знач Прокси = Неопределено, Знач Tls = Неопределено) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| НастройкиFTP | - | Структура Из КлючИЗначение | ✔ | Настройки FTP. См. ПолучитьНастройкиСоединения |
|
||||
| Прокси | - | Структура Из КлючИЗначение | ✖ | Настройки прокси, если необходимо. См ПолучитьНастройкиПрокси |
|
||||
| Tls | - | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
Возвращаемое значение: Произвольный - Объект коннектора или соответствие с информацией об ошибке
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** данный метод недоступен для использования в CLI версии
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Домен = "127.0.0.1";
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = "12we...";
|
||||
|
||||
// Простое подключение
|
||||
|
||||
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Домен, 21);
|
||||
Результат = OPI_FTP.ОткрытьСоединение(НастройкиFTP);
|
||||
|
||||
// Подключение по TLS через прокси
|
||||
|
||||
ДоменFTP = "172.33.0.11";
|
||||
АдресПрокси = "127.0.0.1";
|
||||
|
||||
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(ДоменFTP, 21, Логин, "12we3456!2154");
|
||||
НастройкиПрокси = OPI_FTP.ПолучитьНастройкиПрокси(АдресПрокси, 1080, "socks5", "proxyuser", Пароль);
|
||||
НастройкиTLS = OPI_FTP.ПолучитьНастройкиTls(Истина);
|
||||
|
||||
Результат = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTLS);
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
44
docs/ru/md/FTP/Common-methods/Get-connection-configuration.mdx
vendored
Normal file
44
docs/ru/md/FTP/Common-methods/Get-connection-configuration.mdx
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
description: Получить конфигурацию соединения и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
|
||||
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить конфигурацию соединения
|
||||
Формирует полную структуру настроек соединения, которая может быть использована вместо самого соединения при вызове других функций
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьКонфигурациюСоединиения(Знач НастройкиFTP, Знач Прокси = Неопределено, Знач Tls = Неопределено) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| НастройкиFTP | --set | Структура Из КлючИЗначение | ✔ | Настройки FTP. См. ПолучитьНастройкиСоединения |
|
||||
| Прокси | --proxy | Структура Из КлючИЗначение | ✖ | Настройки прокси, если необходимо. См ПолучитьНастройкиПрокси |
|
||||
| Tls | --tls | Структура Из КлючИЗначение | ✖ | Настройки TLS, если необходимо. См. ПолучитьНастройкиTls |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Структура настроек соединения
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Может быть передана в качестве параметра `Соединение` в других функциях вместо настоящего соединения из функции `ОткрытьСоединение`. При этом новое соединение будет открыто и закрыто в рамках вызываемой функции
|
||||
|
||||
Не рекомендуется использовать конфигурацию соединения при множественных обращениях к серверу FTP. Данный фунционал предназначен, в первую очередь для CLI версии ОПИ, где хранение соединения между вызовами невозможно
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
42
docs/ru/md/FTP/Common-methods/Get-connection-settings.mdx
vendored
Normal file
42
docs/ru/md/FTP/Common-methods/Get-connection-settings.mdx
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
description: Получить настройки соединения и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
|
||||
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить настройки соединения
|
||||
Формирует структуру настроек подключения FTP
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьНастройкиСоединения(Знач Домен, Знач Порт = 21, Знач Логин = Неопределено, Знач Пароль = Неопределено, Знач Пассивный = Истина, Знач ТаймаутЧтения = 120, Знач ТаймаутЗаписи = 120) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Домен | --host | Строка | ✔ | Домен сервера |
|
||||
| Порт | --port | Число | ✖ | Порт сервера |
|
||||
| Логин | --login | Строка, Неопределено | ✖ | Имя пользователя авторизации, если необходимо |
|
||||
| Пароль | --pass | Строка, Неопределено | ✖ | Пароль пользователя для авторизации, если необходимо |
|
||||
| Пассивный | --passive | Булево | ✖ | Пассивный режим соединения |
|
||||
| ТаймаутЧтения | --rtout | Число | ✖ | Таймаут чтения |
|
||||
| ТаймаутЗаписи | --wtout | Число | ✖ | Таймаут записи |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Структура настроек соединения
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
40
docs/ru/md/FTP/Common-methods/Get-proxy-settings.mdx
vendored
Normal file
40
docs/ru/md/FTP/Common-methods/Get-proxy-settings.mdx
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
description: Получить настройки прокси и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
|
||||
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить настройки прокси
|
||||
Формирует структуру настроек прокси-сервера для соединения
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьНастройкиПрокси(Знач Адрес, Знач Порт, Знач Вид = "socks5", Знач Логин = Неопределено, Знач Пароль = Неопределено) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Адрес | --addr | Строка | ✔ | Адрес прокси |
|
||||
| Порт | --port | Число | ✔ | Порт прокси |
|
||||
| Вид | --type | Строка | ✖ | Вид прокси: socks5, socks4, http |
|
||||
| Логин | --login | Строка, Неопределено | ✖ | Логин авторизации, если необходимо |
|
||||
| Пароль | --pass | Строка, Неопределено | ✖ | Пароль для авторизации, если необходимо |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Структура настроек прокси
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
41
docs/ru/md/FTP/Common-methods/Get-tls-settings.mdx
vendored
Normal file
41
docs/ru/md/FTP/Common-methods/Get-tls-settings.mdx
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 7
|
||||
description: Получить настройки TLS и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
|
||||
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Получить настройки TLS
|
||||
Формирует настройки для использования TLS при выполнении запросов
|
||||
|
||||
|
||||
|
||||
`Функция ПолучитьНастройкиTls(Знач ОтключитьПроверкуСертификатов, Знач ПутьКСертификату = "") Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| ОтключитьПроверкуСертификатов | --trust | Булево | ✔ | Позволяет работать с некорретными сертификатами, в т.ч. самоподписанными |
|
||||
| ПутьКСертификату | --cert | Строка | ✖ | Путь к корневому PEM файлу сертификата, если его нет в системном хранилище |
|
||||
|
||||
|
||||
Возвращаемое значение: Структура Из КлючИЗначение - Структура настроек TLS соединения
|
||||
|
||||
<br/>
|
||||
|
||||
:::tip
|
||||
Настройки Tls могут быть установлены только в момент создания соединения: явного, при использовании функции `ОткрытьСоединение` или неявного, при передаче настроек
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
41
docs/ru/md/FTP/Common-methods/Is-connector.mdx
vendored
Normal file
41
docs/ru/md/FTP/Common-methods/Is-connector.mdx
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
description: Это коннектор и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
|
||||
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Это коннектор
|
||||
Проверяет, что значение является объектом внешней компоненты для работы с FTP
|
||||
|
||||
|
||||
|
||||
`Функция ЭтоКоннектор(Знач Значение) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Значение | - | Произвольный | ✔ | Значение для проверки |
|
||||
|
||||
|
||||
Возвращаемое значение: Булево - Это коннектор
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** данный метод недоступен для использования в CLI версии
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
4
docs/ru/md/FTP/Common-methods/_category_.json
vendored
Normal file
4
docs/ru/md/FTP/Common-methods/_category_.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "Основные методы",
|
||||
"position": "2"
|
||||
}
|
2
media/catalogs/Catalog.md
vendored
2
media/catalogs/Catalog.md
vendored
@@ -4,6 +4,7 @@
|
||||
|| `Bitrix24`| bitrix24, b24, bitrix |
|
||||
|| `CDEK`| cdek |
|
||||
|| `Dropbox`| dropbox |
|
||||
|| `FTP`| ftp, ftps |
|
||||
|| `Google Calendar`| google calendar, googlecalendar, gcalendar |
|
||||
|| `Google Drive`| google drive, googledrive, gdrive, google disk |
|
||||
|| `Google Sheets`| googlesheets, google sheets, spreadsheets |
|
||||
@@ -25,4 +26,3 @@
|
||||
|| `VK`| vk, vkontakte |
|
||||
|| `VKTeams`| vkteams, vk teams |
|
||||
|| `Yandex Disk`| yandexdisk, yandex.disk, yandex disk, yandex drive, yadisk, ya disk |
|
||||
|| `FTP`| ftp, ftps |
|
||||
|
16184
service/dictionaries/en.json
vendored
16184
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
417
src/en/OInt/core/Modules/OPI_FTP.os
vendored
Normal file
417
src/en/OInt/core/Modules/OPI_FTP.os
vendored
Normal file
@@ -0,0 +1,417 @@
|
||||
// OneScript: ./OInt/core/Modules/OPI_FTP.os
|
||||
// Lib: FTP
|
||||
// CLI: ftp
|
||||
// Keywords: ftp, ftps
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023-2025 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:LineLength-off
|
||||
// BSLLS:UsingSynchronousCalls-off
|
||||
// BSLLS:MagicNumber-off
|
||||
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check method-too-many-params
|
||||
|
||||
#Region Public
|
||||
|
||||
#Region CommonMethods
|
||||
|
||||
// Create Connection !NOCLI
|
||||
// Creates an FTP connection with the specified settings
|
||||
//
|
||||
// Parameters:
|
||||
// FTPSettings - Structure Of KeyAndValue - FTP settings. See GetConnectionSettings - set
|
||||
// Proxy - Structure Of KeyAndValue - Proxy settings, if required. See GetProxySettings - proxy
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Arbitrary - Client object or map with error information
|
||||
Function CreateConnection(Val FTPSettings, Val Proxy = Undefined, Val Tls = Undefined) Export
|
||||
|
||||
If IsConnector(FTPSettings) Then
|
||||
Return FTPSettings;
|
||||
EndIf;
|
||||
|
||||
Connector = OPI_AddIns.GetAddIn("FTP");
|
||||
|
||||
SetSettings = SetFtpSettings(Connector, FTPSettings);
|
||||
|
||||
If Not OPI_Tools.GetOr(SetSettings, "result", False) Then
|
||||
Return SetSettings;
|
||||
EndIf;
|
||||
|
||||
Tls = OPI_AddIns.SetTls(Connector, Tls);
|
||||
|
||||
If Not OPI_Tools.GetOr(Tls, "result", False) Then
|
||||
Return Tls;
|
||||
EndIf;
|
||||
|
||||
SetProxy = SetProxySettings(Connector, Proxy);
|
||||
|
||||
If Not OPI_Tools.GetOr(SetProxy, "result", False) Then
|
||||
Return SetProxy;
|
||||
EndIf;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JSONToStructure(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get connection configuration
|
||||
// Forms a complete structure of connection settings that can be used instead of the actual connection when calling other functions
|
||||
//
|
||||
// Note
|
||||
// Can be passed as the `Connection` parameter in other functions instead of the actual connection from the `CreateConnection` function.
|
||||
// At the same time, a new connection will be opened and closed within the called function
|
||||
// Using the connection configuration is not recommended for multiple requests to the FTP server.^^
|
||||
// This functionality is primarily intended for the CLI version of OInt, where maintaining a connection between calls is not possible
|
||||
//
|
||||
// Parameters:
|
||||
// FTPSettings - Structure Of KeyAndValue - FTP settings. See GetConnectionSettings - set
|
||||
// Proxy - Structure Of KeyAndValue - Proxy settings, if required. See GetProxySettings - proxy
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Connection settings structure
|
||||
Function GetConnectionConfiguration(Val FTPSettings, Val Proxy = Undefined, Val Tls = Undefined) Export
|
||||
|
||||
ConfigurationStructure = New Structure;
|
||||
|
||||
OPI_Tools.AddField("set" , FTPSettings, "Collection", ConfigurationStructure);
|
||||
OPI_Tools.AddField("proxy", Proxy , "Collection", ConfigurationStructure);
|
||||
OPI_Tools.AddField("tls" , Tls , "Collection", ConfigurationStructure);
|
||||
|
||||
Return ConfigurationStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Close connection !NOCLI
|
||||
// Explicitly closes the passed connection
|
||||
//
|
||||
// Parameters:
|
||||
// Connection - Arbitrary - AddIn object with open connection - conn
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Result of connection termination
|
||||
Function CloseConnection(Val Connection) Export
|
||||
|
||||
CheckCreateConnection(Connection);
|
||||
Result = Connection.Close();
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function GetWelcomeMessage(Val Connection) Export
|
||||
|
||||
CloseConnection = CheckCreateConnection(Connection);
|
||||
|
||||
If Not IsConnector(Connection) Then
|
||||
Result = Connection;
|
||||
Else
|
||||
Result = Connection.GetWelcomeMsg();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
EndIf;
|
||||
|
||||
If CloseConnection Then
|
||||
Result.Insert("close_connection", CloseConnection(Connection));
|
||||
EndIf;
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Is connector !NOCLI
|
||||
// Checks that the value is an AddIn object for working with FTP
|
||||
//
|
||||
// Parameters:
|
||||
// Value - Arbitrary - Value to check - value
|
||||
//
|
||||
// Returns:
|
||||
// Boolean - Is connector
|
||||
Function IsConnector(Val Value) Export
|
||||
|
||||
Return String(TypeOf(Value)) = "AddIn.OPI_FTP.Main";
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get connection settings
|
||||
// Creates a structure of FTP connection settings
|
||||
//
|
||||
// Parameters:
|
||||
// Domain - String - Server domain - host
|
||||
// Port - Number - Server port - port
|
||||
// Login - String, Undefined - Username for authorization, if required - login
|
||||
// Password - String, Undefined - User password for authorization, if required - pass
|
||||
// Passive - Boolean - Passive connection mode - passive
|
||||
// ReadTimeout - Number - Read timeout - rtout
|
||||
// WriteTimeout - Number - Write timeout - wtout
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Connection settings structure
|
||||
Function GetConnectionSettings(Val Domain
|
||||
, Val Port = 21
|
||||
, Val Login = Undefined
|
||||
, Val Password = Undefined
|
||||
, Val Passive = True
|
||||
, Val ReadTimeout = 120
|
||||
, Val WriteTimeout = 120) Export
|
||||
|
||||
SettingsStructure = New Structure;
|
||||
OPI_Tools.AddField("domain" , Domain , "String" , SettingsStructure);
|
||||
OPI_Tools.AddField("port" , Port , "Number" , SettingsStructure);
|
||||
OPI_Tools.AddField("passive" , Passive , "Boolean", SettingsStructure);
|
||||
OPI_Tools.AddField("read_timeout" , ReadTimeout , "Number" , SettingsStructure);
|
||||
OPI_Tools.AddField("write_timeout", WriteTimeout , "Number" , SettingsStructure);
|
||||
|
||||
If Not Login = Undefined Then
|
||||
OPI_TypeConversion.GetLine(Login);
|
||||
SettingsStructure.Insert("login", Login);
|
||||
EndIf;
|
||||
|
||||
If Not Password = Undefined Then
|
||||
OPI_TypeConversion.GetLine(Password);
|
||||
SettingsStructure.Insert("password", Password);
|
||||
EndIf;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return SettingsStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get proxy settings
|
||||
// Creates a structure of proxy server settings for the connection
|
||||
//
|
||||
// Parameters:
|
||||
// Address - String - Proxy address - addr
|
||||
// Port - Number - Proxy port - port
|
||||
// View - String - Proxy type: socks5, socks4, http - type
|
||||
// Login - String, Undefined - Authorization login, if required - login
|
||||
// Password - String, Undefined - Authorization password, if required - pass
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Proxy settings structure
|
||||
Function GetProxySettings(Val Address
|
||||
, Val Port
|
||||
, Val View = "socks5"
|
||||
, Val Login = Undefined
|
||||
, Val Password = Undefined) Export
|
||||
|
||||
SettingsStructure = New Structure;
|
||||
OPI_Tools.AddField("server" , Address, "String" , SettingsStructure);
|
||||
OPI_Tools.AddField("port" , Port , "Number" , SettingsStructure);
|
||||
OPI_Tools.AddField("proxy_type", View , "String" , SettingsStructure);
|
||||
|
||||
If Not Login = Undefined Then
|
||||
OPI_TypeConversion.GetLine(Login);
|
||||
SettingsStructure.Insert("login", Login);
|
||||
EndIf;
|
||||
|
||||
If Not Password = Undefined Then
|
||||
OPI_TypeConversion.GetLine(Password);
|
||||
SettingsStructure.Insert("password", Password);
|
||||
EndIf;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return SettingsStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get TLS Settings
|
||||
// Forms settings for using TLS
|
||||
//
|
||||
// Note
|
||||
// Tls settings can only be set when a connection is created: explicitly, by using the `OpenConnection` function^^
|
||||
// or implicit, when passing settings
|
||||
//
|
||||
// Parameters:
|
||||
// DisableCertVerification - Boolean - Allows to work with invalid certificates, including self signed - trust
|
||||
// CertFilepath - String - Path to the root PEM file of the certificate if it is not in the system repository - cert
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Structure of TLS connection settings
|
||||
Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export
|
||||
|
||||
Return OPI_AddIns.GetTlsSettings(DisableCertVerification, CertFilepath);
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
|
||||
Function SetFtpSettings(Val Connector, Val FTPSettings)
|
||||
|
||||
ErrorText = "FTP settings are not a valid key-value structure";
|
||||
Settings = SettingAsJson(FTPSettings, ErrorText);
|
||||
|
||||
If TypeOf(Settings) = Type("Map") Then
|
||||
Return Settings;
|
||||
EndIf;
|
||||
|
||||
Result = Connector.UpdateSettings(Settings);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function SetProxySettings(Val Connector, Val ProxySettings)
|
||||
|
||||
If ProxySettings = Undefined Then
|
||||
Result = New Map;
|
||||
Result.Insert("result", True);
|
||||
Return Result;
|
||||
EndIf;
|
||||
|
||||
ErrorText = "Proxy settings are not a valid key-value structure";
|
||||
Settings = SettingAsJson(ProxySettings, ErrorText);
|
||||
|
||||
If TypeOf(Settings) = Type("Map") Then
|
||||
Return Settings;
|
||||
EndIf;
|
||||
|
||||
Result = Connector.UpdateProxy(Settings);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function SettingAsJson(Val Collection, Val ErrorText)
|
||||
|
||||
OPI_TypeConversion.GetKeyValueCollection(Collection);
|
||||
|
||||
Try
|
||||
Result = OPI_Tools.JSONString(Collection);
|
||||
Except
|
||||
|
||||
Result = New Map;
|
||||
Result.Insert("result", False);
|
||||
Result.Insert("error" , "FTP settings must contain only serializable values");
|
||||
|
||||
EndTry;
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function CreateConnectionByConfiguration(Val ConfigurationStructure)
|
||||
|
||||
If IsConnector(ConfigurationStructure) Then
|
||||
Return ConfigurationStructure;
|
||||
EndIf;
|
||||
|
||||
ErrorText = "Unexpected connection configuration";
|
||||
|
||||
Try
|
||||
OPI_TypeConversion.GetKeyValueCollection(ConfigurationStructure);
|
||||
Except
|
||||
|
||||
Result = New Map;
|
||||
Result.Insert("result", False);
|
||||
Result.Insert("error" , ErrorText);
|
||||
Return Result;
|
||||
|
||||
EndTry;
|
||||
|
||||
If Not OPI_Tools.CollectionFieldExist(ConfigurationStructure, "set") Then
|
||||
|
||||
Result = New Map;
|
||||
Result.Insert("result", False);
|
||||
Result.Insert("error" , ErrorText);
|
||||
Return Result;
|
||||
|
||||
EndIf;
|
||||
|
||||
FTPSettings = ConfigurationStructure["set"];
|
||||
Proxy = OPI_Tools.GetOr(ConfigurationStructure, "proxy", Undefined);
|
||||
Tls = OPI_Tools.GetOr(ConfigurationStructure, "tls", Undefined);
|
||||
|
||||
Return CreateConnection(FTPSettings, Proxy, Tls);
|
||||
|
||||
EndFunction
|
||||
|
||||
Function CheckCreateConnection(Connection)
|
||||
|
||||
If IsConnector(Connection) Then
|
||||
CloseConnection = False;
|
||||
Else
|
||||
CloseConnection = True;
|
||||
Connection = CreateConnectionByConfiguration(Connection);
|
||||
EndIf;
|
||||
|
||||
Return CloseConnection;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Function ОткрытьСоединение(Val НастройкиFTP, Val Прокси = Undefined, Val Tls = Undefined) Export
|
||||
Return CreateConnection(НастройкиFTP, Прокси, Tls);
|
||||
EndFunction
|
||||
|
||||
Function ПолучитьКонфигурациюСоединиения(Val НастройкиFTP, Val Прокси = Undefined, Val Tls = Undefined) Export
|
||||
Return GetConnectionConfiguration(НастройкиFTP, Прокси, Tls);
|
||||
EndFunction
|
||||
|
||||
Function ЗакрытьСоединение(Val Соединение) Export
|
||||
Return CloseConnection(Соединение);
|
||||
EndFunction
|
||||
|
||||
Function ПолучитьПриветственноеСообщение(Val Соединение) Export
|
||||
Return GetWelcomeMessage(Соединение);
|
||||
EndFunction
|
||||
|
||||
Function ЭтоКоннектор(Val Значение) Export
|
||||
Return IsConnector(Значение);
|
||||
EndFunction
|
||||
|
||||
Function ПолучитьНастройкиСоединения(Val Домен, Val Порт = 21, Val Логин = Undefined, Val Пароль = Undefined, Val Пассивный = True, Val ТаймаутЧтения = 120, Val ТаймаутЗаписи = 120) Export
|
||||
Return GetConnectionSettings(Домен, Порт, Логин, Пароль, Пассивный, ТаймаутЧтения, ТаймаутЗаписи);
|
||||
EndFunction
|
||||
|
||||
Function ПолучитьНастройкиПрокси(Val Адрес, Val Порт, Val Вид = "socks5", Val Логин = Undefined, Val Пароль = Undefined) Export
|
||||
Return GetProxySettings(Адрес, Порт, Вид, Логин, Пароль);
|
||||
EndFunction
|
||||
|
||||
Function ПолучитьНастройкиTls(Val ОтключитьПроверкуСертификатов, Val ПутьКСертификату = "") Export
|
||||
Return GetTlsSettings(ОтключитьПроверкуСертификатов, ПутьКСертификату);
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
69
src/en/OInt/tests/Modules/internal/OPI_Tests.os
vendored
69
src/en/OInt/tests/Modules/internal/OPI_Tests.os
vendored
@@ -2864,6 +2864,21 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region FTP
|
||||
|
||||
Procedure FT_CommonMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("PG_IP" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("PG_Password", TestParameters);
|
||||
|
||||
FTP_CreateConnection(TestParameters);
|
||||
FTP_GetWelcomeMessage(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
@@ -24739,6 +24754,60 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region FTP
|
||||
|
||||
Procedure FTP_CreateConnection(FunctionParameters)
|
||||
|
||||
Domain = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
// Simple connection
|
||||
|
||||
FTPSettings = OPI_FTP.GetConnectionSettings(Domain, 21);
|
||||
Result = OPI_FTP.CreateConnection(FTPSettings);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "FTP"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_FTP.Main"); // SKIP
|
||||
|
||||
// TLS connection through proxy
|
||||
|
||||
FTPDomain = "172.33.0.11";
|
||||
ProxyAddress = FunctionParameters["PG_IP"];
|
||||
|
||||
FTPSettings = OPI_FTP.GetConnectionSettings(FTPDomain, 21, Login, "12we3456!2154");
|
||||
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, 1080, "socks5", "proxyuser", Password);
|
||||
TLSSettings = OPI_FTP.GetTlsSettings(True);
|
||||
|
||||
Result = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (proxy + tls)", "FTP");
|
||||
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_FTP.Main");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure FTP_GetWelcomeMessage(FunctionParameters)
|
||||
|
||||
Domain = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
FTPSettings = OPI_FTP.GetConnectionSettings(Domain, 21, Login, Password);
|
||||
Connection = OPI_FTP.CreateConnection(FTPSettings);
|
||||
|
||||
Result = OPI_FTP.GetWelcomeMessage(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetWelcomeMessage", "FTP");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@@ -55,6 +55,7 @@ Function GetTestingSectionMapping() Export
|
||||
Sections.Insert("VK" , 5);
|
||||
Sections.Insert("Viber" , 5);
|
||||
Sections.Insert("Twitter" , 4);
|
||||
Sections.Insert("FTP" , 5);
|
||||
Sections.Insert("PostgreSQL" , 5);
|
||||
Sections.Insert("MySQL" , 5);
|
||||
Sections.Insert("MSSQL" , 5);
|
||||
@@ -96,6 +97,7 @@ Function GetTestingSectionMappingGA() Export
|
||||
Sections.Insert("VK" , StandardDependencies);
|
||||
Sections.Insert("Viber" , StandardDependencies);
|
||||
Sections.Insert("Twitter" , StandardDependencies);
|
||||
Sections.Insert("FTP" , StandardDependencies);
|
||||
Sections.Insert("PostgreSQL" , StandardDependencies);
|
||||
Sections.Insert("MySQL" , StandardDependencies);
|
||||
Sections.Insert("MSSQL" , StandardDependencies);
|
||||
@@ -159,6 +161,7 @@ Function GetTestTable() Export
|
||||
Http = "HTTPClient";
|
||||
OpenAI = "OpenAI";
|
||||
MSSQL = "MSSQL";
|
||||
FTP = "FTP";
|
||||
|
||||
TestTable = New ValueTable;
|
||||
TestTable.Columns.Add("Method");
|
||||
@@ -324,6 +327,7 @@ Function GetTestTable() Export
|
||||
NewTest(TestTable, "OAI_FileManagement" , "Files management" , OpenAI);
|
||||
NewTest(TestTable, "OAI_AudioProcessing" , "Audio processing" , OpenAI);
|
||||
NewTest(TestTable, "OAI_ModelsManagement" , "Models management" , OpenAI);
|
||||
NewTest(TestTable, "FT_CommonMethods" , "Common methods" , FTP);
|
||||
|
||||
Return TestTable;
|
||||
|
||||
|
331
src/en/OPI/src/CommonModules/OPI_FTP/Module.bsl
vendored
331
src/en/OPI/src/CommonModules/OPI_FTP/Module.bsl
vendored
@@ -45,6 +45,337 @@
|
||||
|
||||
#Region CommonMethods
|
||||
|
||||
// Create Connection !NOCLI
|
||||
// Creates an FTP connection with the specified settings
|
||||
//
|
||||
// Parameters:
|
||||
// FTPSettings - Structure Of KeyAndValue - FTP settings. See GetConnectionSettings - set
|
||||
// Proxy - Structure Of KeyAndValue - Proxy settings, if required. See GetProxySettings - proxy
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Arbitrary - Client object or map with error information
|
||||
Function CreateConnection(Val FTPSettings, Val Proxy = Undefined, Val Tls = Undefined) Export
|
||||
|
||||
If IsConnector(FTPSettings) Then
|
||||
Return FTPSettings;
|
||||
EndIf;
|
||||
|
||||
Connector = OPI_AddIns.GetAddIn("FTP");
|
||||
|
||||
SetSettings = SetFtpSettings(Connector, FTPSettings);
|
||||
|
||||
If Not OPI_Tools.GetOr(SetSettings, "result", False) Then
|
||||
Return SetSettings;
|
||||
EndIf;
|
||||
|
||||
Tls = OPI_AddIns.SetTls(Connector, Tls);
|
||||
|
||||
If Not OPI_Tools.GetOr(Tls, "result", False) Then
|
||||
Return Tls;
|
||||
EndIf;
|
||||
|
||||
SetProxy = SetProxySettings(Connector, Proxy);
|
||||
|
||||
If Not OPI_Tools.GetOr(SetProxy, "result", False) Then
|
||||
Return SetProxy;
|
||||
EndIf;
|
||||
|
||||
Result = Connector.Connect();
|
||||
Result = OPI_Tools.JSONToStructure(Result);
|
||||
|
||||
Return ?(Result["result"], Connector, Result);
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get connection configuration
|
||||
// Forms a complete structure of connection settings that can be used instead of the actual connection when calling other functions
|
||||
//
|
||||
// Note
|
||||
// Can be passed as the `Connection` parameter in other functions instead of the actual connection from the `CreateConnection` function.
|
||||
// At the same time, a new connection will be opened and closed within the called function
|
||||
// Using the connection configuration is not recommended for multiple requests to the FTP server.^^
|
||||
// This functionality is primarily intended for the CLI version of OInt, where maintaining a connection between calls is not possible
|
||||
//
|
||||
// Parameters:
|
||||
// FTPSettings - Structure Of KeyAndValue - FTP settings. See GetConnectionSettings - set
|
||||
// Proxy - Structure Of KeyAndValue - Proxy settings, if required. See GetProxySettings - proxy
|
||||
// Tls - Structure Of KeyAndValue - TLS settings, if necessary. See GetTlsSettings - tls
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Connection settings structure
|
||||
Function GetConnectionConfiguration(Val FTPSettings, Val Proxy = Undefined, Val Tls = Undefined) Export
|
||||
|
||||
ConfigurationStructure = New Structure;
|
||||
|
||||
OPI_Tools.AddField("set" , FTPSettings, "Collection", ConfigurationStructure);
|
||||
OPI_Tools.AddField("proxy", Proxy , "Collection", ConfigurationStructure);
|
||||
OPI_Tools.AddField("tls" , Tls , "Collection", ConfigurationStructure);
|
||||
|
||||
Return ConfigurationStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Close connection !NOCLI
|
||||
// Explicitly closes the passed connection
|
||||
//
|
||||
// Parameters:
|
||||
// Connection - Arbitrary - AddIn object with open connection - conn
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Result of connection termination
|
||||
Function CloseConnection(Val Connection) Export
|
||||
|
||||
CheckCreateConnection(Connection);
|
||||
Result = Connection.Close();
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function GetWelcomeMessage(Val Connection) Export
|
||||
|
||||
CloseConnection = CheckCreateConnection(Connection);
|
||||
|
||||
If Not IsConnector(Connection) Then
|
||||
Result = Connection;
|
||||
Else
|
||||
Result = Connection.GetWelcomeMsg();
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
EndIf;
|
||||
|
||||
If CloseConnection Then
|
||||
Result.Insert("close_connection", CloseConnection(Connection));
|
||||
EndIf;
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Is connector !NOCLI
|
||||
// Checks that the value is an AddIn object for working with FTP
|
||||
//
|
||||
// Parameters:
|
||||
// Value - Arbitrary - Value to check - value
|
||||
//
|
||||
// Returns:
|
||||
// Boolean - Is connector
|
||||
Function IsConnector(Val Value) Export
|
||||
|
||||
Return String(TypeOf(Value)) = "AddIn.OPI_FTP.Main";
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get connection settings
|
||||
// Creates a structure of FTP connection settings
|
||||
//
|
||||
// Parameters:
|
||||
// Domain - String - Server domain - host
|
||||
// Port - Number - Server port - port
|
||||
// Login - String, Undefined - Username for authorization, if required - login
|
||||
// Password - String, Undefined - User password for authorization, if required - pass
|
||||
// Passive - Boolean - Passive connection mode - passive
|
||||
// ReadTimeout - Number - Read timeout - rtout
|
||||
// WriteTimeout - Number - Write timeout - wtout
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Connection settings structure
|
||||
Function GetConnectionSettings(Val Domain
|
||||
, Val Port = 21
|
||||
, Val Login = Undefined
|
||||
, Val Password = Undefined
|
||||
, Val Passive = True
|
||||
, Val ReadTimeout = 120
|
||||
, Val WriteTimeout = 120) Export
|
||||
|
||||
SettingsStructure = New Structure;
|
||||
OPI_Tools.AddField("domain" , Domain , "String" , SettingsStructure);
|
||||
OPI_Tools.AddField("port" , Port , "Number" , SettingsStructure);
|
||||
OPI_Tools.AddField("passive" , Passive , "Boolean", SettingsStructure);
|
||||
OPI_Tools.AddField("read_timeout" , ReadTimeout , "Number" , SettingsStructure);
|
||||
OPI_Tools.AddField("write_timeout", WriteTimeout , "Number" , SettingsStructure);
|
||||
|
||||
If Not Login = Undefined Then
|
||||
OPI_TypeConversion.GetLine(Login);
|
||||
SettingsStructure.Insert("login", Login);
|
||||
EndIf;
|
||||
|
||||
If Not Password = Undefined Then
|
||||
OPI_TypeConversion.GetLine(Password);
|
||||
SettingsStructure.Insert("password", Password);
|
||||
EndIf;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return SettingsStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get proxy settings
|
||||
// Creates a structure of proxy server settings for the connection
|
||||
//
|
||||
// Parameters:
|
||||
// Address - String - Proxy address - addr
|
||||
// Port - Number - Proxy port - port
|
||||
// View - String - Proxy type: socks5, socks4, http - type
|
||||
// Login - String, Undefined - Authorization login, if required - login
|
||||
// Password - String, Undefined - Authorization password, if required - pass
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Proxy settings structure
|
||||
Function GetProxySettings(Val Address
|
||||
, Val Port
|
||||
, Val View = "socks5"
|
||||
, Val Login = Undefined
|
||||
, Val Password = Undefined) Export
|
||||
|
||||
SettingsStructure = New Structure;
|
||||
OPI_Tools.AddField("server" , Address, "String" , SettingsStructure);
|
||||
OPI_Tools.AddField("port" , Port , "Number" , SettingsStructure);
|
||||
OPI_Tools.AddField("proxy_type", View , "String" , SettingsStructure);
|
||||
|
||||
If Not Login = Undefined Then
|
||||
OPI_TypeConversion.GetLine(Login);
|
||||
SettingsStructure.Insert("login", Login);
|
||||
EndIf;
|
||||
|
||||
If Not Password = Undefined Then
|
||||
OPI_TypeConversion.GetLine(Password);
|
||||
SettingsStructure.Insert("password", Password);
|
||||
EndIf;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return SettingsStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get TLS Settings
|
||||
// Forms settings for using TLS
|
||||
//
|
||||
// Note
|
||||
// Tls settings can only be set when a connection is created: explicitly, by using the `OpenConnection` function^^
|
||||
// or implicit, when passing settings
|
||||
//
|
||||
// Parameters:
|
||||
// DisableCertVerification - Boolean - Allows to work with invalid certificates, including self signed - trust
|
||||
// CertFilepath - String - Path to the root PEM file of the certificate if it is not in the system repository - cert
|
||||
//
|
||||
// Returns:
|
||||
// Structure Of KeyAndValue - Structure of TLS connection settings
|
||||
Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export
|
||||
|
||||
Return OPI_AddIns.GetTlsSettings(DisableCertVerification, CertFilepath);
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Private
|
||||
|
||||
Function SetFtpSettings(Val Connector, Val FTPSettings)
|
||||
|
||||
ErrorText = "FTP settings are not a valid key-value structure";
|
||||
Settings = SettingAsJson(FTPSettings, ErrorText);
|
||||
|
||||
If TypeOf(Settings) = Type("Map") Then
|
||||
Return Settings;
|
||||
EndIf;
|
||||
|
||||
Result = Connector.UpdateSettings(Settings);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function SetProxySettings(Val Connector, Val ProxySettings)
|
||||
|
||||
If ProxySettings = Undefined Then
|
||||
Result = New Map;
|
||||
Result.Insert("result", True);
|
||||
Return Result;
|
||||
EndIf;
|
||||
|
||||
ErrorText = "Proxy settings are not a valid key-value structure";
|
||||
Settings = SettingAsJson(ProxySettings, ErrorText);
|
||||
|
||||
If TypeOf(Settings) = Type("Map") Then
|
||||
Return Settings;
|
||||
EndIf;
|
||||
|
||||
Result = Connector.UpdateProxy(Settings);
|
||||
Result = OPI_Tools.JsonToStructure(Result);
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function SettingAsJson(Val Collection, Val ErrorText)
|
||||
|
||||
OPI_TypeConversion.GetKeyValueCollection(Collection);
|
||||
|
||||
Try
|
||||
Result = OPI_Tools.JSONString(Collection);
|
||||
Except
|
||||
|
||||
Result = New Map;
|
||||
Result.Insert("result", False);
|
||||
Result.Insert("error" , "FTP settings must contain only serializable values");
|
||||
|
||||
EndTry;
|
||||
|
||||
Return Result;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function CreateConnectionByConfiguration(Val ConfigurationStructure)
|
||||
|
||||
If IsConnector(ConfigurationStructure) Then
|
||||
Return ConfigurationStructure;
|
||||
EndIf;
|
||||
|
||||
ErrorText = "Unexpected connection configuration";
|
||||
|
||||
Try
|
||||
OPI_TypeConversion.GetKeyValueCollection(ConfigurationStructure);
|
||||
Except
|
||||
|
||||
Result = New Map;
|
||||
Result.Insert("result", False);
|
||||
Result.Insert("error" , ErrorText);
|
||||
Return Result;
|
||||
|
||||
EndTry;
|
||||
|
||||
If Not OPI_Tools.CollectionFieldExists(ConfigurationStructure, "set") Then
|
||||
|
||||
Result = New Map;
|
||||
Result.Insert("result", False);
|
||||
Result.Insert("error" , ErrorText);
|
||||
Return Result;
|
||||
|
||||
EndIf;
|
||||
|
||||
FTPSettings = ConfigurationStructure["set"];
|
||||
Proxy = OPI_Tools.GetOr(ConfigurationStructure, "proxy", Undefined);
|
||||
Tls = OPI_Tools.GetOr(ConfigurationStructure, "tls", Undefined);
|
||||
|
||||
Return CreateConnection(FTPSettings, Proxy, Tls);
|
||||
|
||||
EndFunction
|
||||
|
||||
Function CheckCreateConnection(Connection)
|
||||
|
||||
If IsConnector(Connection) Then
|
||||
CloseConnection = False;
|
||||
Else
|
||||
CloseConnection = True;
|
||||
Connection = CreateConnectionByConfiguration(Connection);
|
||||
EndIf;
|
||||
|
||||
Return CloseConnection;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
@@ -55,6 +55,7 @@ Function GetTestingSectionMapping() Export
|
||||
Sections.Insert("VK" , 5);
|
||||
Sections.Insert("Viber" , 5);
|
||||
Sections.Insert("Twitter" , 4);
|
||||
Sections.Insert("FTP" , 5);
|
||||
Sections.Insert("PostgreSQL" , 5);
|
||||
Sections.Insert("MySQL" , 5);
|
||||
Sections.Insert("MSSQL" , 5);
|
||||
@@ -96,6 +97,7 @@ Function GetTestingSectionMappingGA() Export
|
||||
Sections.Insert("VK" , StandardDependencies);
|
||||
Sections.Insert("Viber" , StandardDependencies);
|
||||
Sections.Insert("Twitter" , StandardDependencies);
|
||||
Sections.Insert("FTP" , StandardDependencies);
|
||||
Sections.Insert("PostgreSQL" , StandardDependencies);
|
||||
Sections.Insert("MySQL" , StandardDependencies);
|
||||
Sections.Insert("MSSQL" , StandardDependencies);
|
||||
@@ -159,6 +161,7 @@ Function GetTestTable() Export
|
||||
Http = "HTTPClient";
|
||||
OpenAI = "OpenAI";
|
||||
MSSQL = "MSSQL";
|
||||
FTP = "FTP";
|
||||
|
||||
TestTable = New ValueTable;
|
||||
TestTable.Columns.Add("Method");
|
||||
@@ -324,6 +327,7 @@ Function GetTestTable() Export
|
||||
NewTest(TestTable, "OAI_FileManagement" , "Files management" , OpenAI);
|
||||
NewTest(TestTable, "OAI_AudioProcessing" , "Audio processing" , OpenAI);
|
||||
NewTest(TestTable, "OAI_ModelsManagement" , "Models management" , OpenAI);
|
||||
NewTest(TestTable, "FT_CommonMethods" , "Common methods" , FTP);
|
||||
|
||||
Return TestTable;
|
||||
|
||||
|
@@ -2864,6 +2864,21 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region FTP
|
||||
|
||||
Procedure FT_CommonMethods() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("PG_IP" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("PG_Password", TestParameters);
|
||||
|
||||
FTP_CreateConnection(TestParameters);
|
||||
FTP_GetWelcomeMessage(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
@@ -24739,6 +24754,60 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region FTP
|
||||
|
||||
Procedure FTP_CreateConnection(FunctionParameters)
|
||||
|
||||
Domain = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
// Simple connection
|
||||
|
||||
FTPSettings = OPI_FTP.GetConnectionSettings(Domain, 21);
|
||||
Result = OPI_FTP.CreateConnection(FTPSettings);
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "FTP"); // SKIP
|
||||
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_FTP.Main"); // SKIP
|
||||
|
||||
// TLS connection through proxy
|
||||
|
||||
FTPDomain = "172.33.0.11";
|
||||
ProxyAddress = FunctionParameters["PG_IP"];
|
||||
|
||||
FTPSettings = OPI_FTP.GetConnectionSettings(FTPDomain, 21, Login, "12we3456!2154");
|
||||
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, 1080, "socks5", "proxyuser", Password);
|
||||
TLSSettings = OPI_FTP.GetTlsSettings(True);
|
||||
|
||||
Result = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection (proxy + tls)", "FTP");
|
||||
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_FTP.Main");
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure FTP_GetWelcomeMessage(FunctionParameters)
|
||||
|
||||
Domain = FunctionParameters["PG_IP"];
|
||||
Login = "bayselonarrend";
|
||||
Password = FunctionParameters["PG_Password"];
|
||||
|
||||
FTPSettings = OPI_FTP.GetConnectionSettings(Domain, 21, Login, Password);
|
||||
Connection = OPI_FTP.CreateConnection(FTPSettings);
|
||||
|
||||
Result = OPI_FTP.GetWelcomeMessage(Connection);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetWelcomeMessage", "FTP");
|
||||
OPI_TestDataRetrieval.Check_ResultTrue(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@@ -28,6 +28,7 @@ Procedure InitializeCommonLists() Export
|
||||
ModuleCommandMapping.Insert("bitrix24", "OPI_Bitrix24");
|
||||
ModuleCommandMapping.Insert("cdek", "OPI_CDEK");
|
||||
ModuleCommandMapping.Insert("dropbox", "OPI_Dropbox");
|
||||
ModuleCommandMapping.Insert("ftp", "OPI_FTP");
|
||||
ModuleCommandMapping.Insert("gcalendar", "OPI_GoogleCalendar");
|
||||
ModuleCommandMapping.Insert("gdrive", "OPI_GoogleDrive");
|
||||
ModuleCommandMapping.Insert("gsheets", "OPI_GoogleSheets");
|
||||
|
211
src/en/cli/data/Classes/internal/Classes/ftp.os
vendored
Normal file
211
src/en/cli/data/Classes/internal/Classes/ftp.os
vendored
Normal file
@@ -0,0 +1,211 @@
|
||||
|
||||
Var CompositionTable;
|
||||
|
||||
Function GetComposition() Export
|
||||
|
||||
If CompositionTable <> Undefined Then
|
||||
Return CompositionTable;
|
||||
EndIf;
|
||||
|
||||
CompositionTable = New ValueTable();
|
||||
CompositionTable.Columns.Add("Library");
|
||||
CompositionTable.Columns.Add("Module");
|
||||
CompositionTable.Columns.Add("Method");
|
||||
CompositionTable.Columns.Add("SearchMethod");
|
||||
CompositionTable.Columns.Add("Parameter");
|
||||
CompositionTable.Columns.Add("Description");
|
||||
CompositionTable.Columns.Add("MethodDescription");
|
||||
CompositionTable.Columns.Add("Region");
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetConnectionConfiguration";
|
||||
NewLine.SearchMethod = "GETCONNECTIONCONFIGURATION";
|
||||
NewLine.Parameter = "--set";
|
||||
NewLine.Description = "FTP settings. See GetConnectionSettings";
|
||||
NewLine.Region = "Common methods";
|
||||
NewLine.MethodDescription = "Forms a complete structure of connection settings that can be used instead of the actual connection when calling other functions";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetConnectionConfiguration";
|
||||
NewLine.SearchMethod = "GETCONNECTIONCONFIGURATION";
|
||||
NewLine.Parameter = "--proxy";
|
||||
NewLine.Description = "Proxy settings, if required. See GetProxySettings (optional, def. val. - Empty value)";
|
||||
NewLine.Region = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetConnectionConfiguration";
|
||||
NewLine.SearchMethod = "GETCONNECTIONCONFIGURATION";
|
||||
NewLine.Parameter = "--tls";
|
||||
NewLine.Description = "TLS settings, if necessary. See GetTlsSettings (optional, def. val. - Empty value)";
|
||||
NewLine.Region = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetConnectionSettings";
|
||||
NewLine.SearchMethod = "GETCONNECTIONSETTINGS";
|
||||
NewLine.Parameter = "--host";
|
||||
NewLine.Description = "Server domain";
|
||||
NewLine.Region = "Common methods";
|
||||
NewLine.MethodDescription = "Creates a structure of FTP connection settings";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetConnectionSettings";
|
||||
NewLine.SearchMethod = "GETCONNECTIONSETTINGS";
|
||||
NewLine.Parameter = "--port";
|
||||
NewLine.Description = "Server port (optional, def. val. - 21)";
|
||||
NewLine.Region = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetConnectionSettings";
|
||||
NewLine.SearchMethod = "GETCONNECTIONSETTINGS";
|
||||
NewLine.Parameter = "--login";
|
||||
NewLine.Description = "Username for authorization, if required (optional, def. val. - Empty value)";
|
||||
NewLine.Region = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetConnectionSettings";
|
||||
NewLine.SearchMethod = "GETCONNECTIONSETTINGS";
|
||||
NewLine.Parameter = "--pass";
|
||||
NewLine.Description = "User password for authorization, if required (optional, def. val. - Empty value)";
|
||||
NewLine.Region = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetConnectionSettings";
|
||||
NewLine.SearchMethod = "GETCONNECTIONSETTINGS";
|
||||
NewLine.Parameter = "--passive";
|
||||
NewLine.Description = "Passive connection mode (optional, def. val. - True)";
|
||||
NewLine.Region = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetConnectionSettings";
|
||||
NewLine.SearchMethod = "GETCONNECTIONSETTINGS";
|
||||
NewLine.Parameter = "--rtout";
|
||||
NewLine.Description = "Read timeout (optional, def. val. - 120)";
|
||||
NewLine.Region = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetConnectionSettings";
|
||||
NewLine.SearchMethod = "GETCONNECTIONSETTINGS";
|
||||
NewLine.Parameter = "--wtout";
|
||||
NewLine.Description = "Write timeout (optional, def. val. - 120)";
|
||||
NewLine.Region = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetProxySettings";
|
||||
NewLine.SearchMethod = "GETPROXYSETTINGS";
|
||||
NewLine.Parameter = "--addr";
|
||||
NewLine.Description = "Proxy address";
|
||||
NewLine.Region = "Common methods";
|
||||
NewLine.MethodDescription = "Creates a structure of proxy server settings for the connection";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetProxySettings";
|
||||
NewLine.SearchMethod = "GETPROXYSETTINGS";
|
||||
NewLine.Parameter = "--port";
|
||||
NewLine.Description = "Proxy port";
|
||||
NewLine.Region = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetProxySettings";
|
||||
NewLine.SearchMethod = "GETPROXYSETTINGS";
|
||||
NewLine.Parameter = "--type";
|
||||
NewLine.Description = "Proxy type: socks5, socks4, http (optional, def. val. - socks5)";
|
||||
NewLine.Region = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetProxySettings";
|
||||
NewLine.SearchMethod = "GETPROXYSETTINGS";
|
||||
NewLine.Parameter = "--login";
|
||||
NewLine.Description = "Authorization login, if required (optional, def. val. - Empty value)";
|
||||
NewLine.Region = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetProxySettings";
|
||||
NewLine.SearchMethod = "GETPROXYSETTINGS";
|
||||
NewLine.Parameter = "--pass";
|
||||
NewLine.Description = "Authorization password, if required (optional, def. val. - Empty value)";
|
||||
NewLine.Region = "Common methods";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetTlsSettings";
|
||||
NewLine.SearchMethod = "GETTLSSETTINGS";
|
||||
NewLine.Parameter = "--trust";
|
||||
NewLine.Description = "Allows to work with invalid certificates, including self signed";
|
||||
NewLine.Region = "Common methods";
|
||||
NewLine.MethodDescription = "Forms settings for using TLS";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Library = "ftp";
|
||||
NewLine.Module = "OPI_FTP";
|
||||
NewLine.Method = "GetTlsSettings";
|
||||
NewLine.SearchMethod = "GETTLSSETTINGS";
|
||||
NewLine.Parameter = "--cert";
|
||||
NewLine.Description = "Path to the root PEM file of the certificate if it is not in the system repository (optional, def. val. - Empty value)";
|
||||
NewLine.Region = "Common methods";
|
||||
|
||||
Return CompositionTable;
|
||||
EndFunction
|
||||
|
||||
|
||||
Function GetConnectionString() Export
|
||||
|
||||
|
||||
Return "
|
||||
|Context = New Structure;
|
||||
|Context.Insert(""OPI_FTP"", Undefined);
|
||||
|
|
||||
|OPI_FTP = LoadScript(""%1/oint/core/Modules/OPI_FTP.os"", Context);
|
||||
|Context.Insert(""OPI_FTP"", OPI_FTP);
|
||||
|
|
||||
|OPI_FTP = LoadScript(""%1/oint/core/Modules/OPI_FTP.os"", Context);
|
||||
|" + Chars.LF;
|
||||
|
||||
|
||||
EndFunction
|
369
src/ru/OInt/core/Modules/OPI_FTP.os
vendored
369
src/ru/OInt/core/Modules/OPI_FTP.os
vendored
@@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/core/Modules/OPI_FTP.os
|
||||
// OneScript: ./OInt/core/Modules/OPI_FTP.os
|
||||
// Lib: FTP
|
||||
// CLI: ftp
|
||||
// Keywords: ftp, ftps
|
||||
@@ -45,6 +45,373 @@
|
||||
|
||||
#Область ОсновныеМетоды
|
||||
|
||||
// Открыть соединение !NOCLI
|
||||
// Открывает FTP соединение с указанными настройками
|
||||
//
|
||||
// Параметры:
|
||||
// НастройкиFTP - Структура Из КлючИЗначение - Настройки FTP. См. ПолучитьНастройкиСоединения - set
|
||||
// Прокси - Структура Из КлючИЗначение - Настройки прокси, если необходимо. См ПолучитьНастройкиПрокси - proxy
|
||||
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Произвольный - Объект коннектора или соответствие с информацией об ошибке
|
||||
Функция ОткрытьСоединение(Знач НастройкиFTP, Знач Прокси = Неопределено, Знач Tls = Неопределено) Экспорт
|
||||
|
||||
Если ЭтоКоннектор(НастройкиFTP) Тогда
|
||||
Возврат НастройкиFTP;
|
||||
КонецЕсли;
|
||||
|
||||
Коннектор = OPI_Компоненты.ПолучитьКомпоненту("FTP");
|
||||
|
||||
УстановкаНастроек = УстановитьНастройкиFtp(Коннектор, НастройкиFTP);
|
||||
|
||||
Если Не OPI_Инструменты.ПолучитьИли(УстановкаНастроек, "result", Ложь) Тогда
|
||||
Возврат УстановкаНастроек;
|
||||
КонецЕсли;
|
||||
|
||||
Tls = OPI_Компоненты.УстановитьTls(Коннектор, Tls);
|
||||
|
||||
Если Не OPI_Инструменты.ПолучитьИли(Tls, "result", Ложь) Тогда
|
||||
Возврат Tls;
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьПрокси = УстановитьНастройкиПрокси(Коннектор, Прокси);
|
||||
|
||||
Если Не OPI_Инструменты.ПолучитьИли(УстановитьПрокси, "result", Ложь) Тогда
|
||||
Возврат УстановитьПрокси;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Коннектор.Connect();
|
||||
Результат = OPI_Инструменты.JSONВСтруктуру(Результат);
|
||||
|
||||
Возврат ?(Результат["result"], Коннектор, Результат);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить конфигурацию соединения
|
||||
// Формирует полную структуру настроек соединения, которая может быть использована вместо самого соединения при вызове других функций
|
||||
//
|
||||
// Примечание:
|
||||
// Может быть передана в качестве параметра `Соединение` в других функциях вместо настоящего соединения из функции `ОткрытьСоединение`.^^
|
||||
// При этом новое соединение будет открыто и закрыто в рамках вызываемой функции
|
||||
// Не рекомендуется использовать конфигурацию соединения при множественных обращениях к серверу FTP.^^
|
||||
// Данный фунционал предназначен, в первую очередь для CLI версии ОПИ, где хранение соединения между вызовами невозможно
|
||||
//
|
||||
// Параметры:
|
||||
// НастройкиFTP - Структура Из КлючИЗначение - Настройки FTP. См. ПолучитьНастройкиСоединения - set
|
||||
// Прокси - Структура Из КлючИЗначение - Настройки прокси, если необходимо. См ПолучитьНастройкиПрокси - proxy
|
||||
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура настроек соединения
|
||||
Функция ПолучитьКонфигурациюСоединиения(Знач НастройкиFTP, Знач Прокси = Неопределено, Знач Tls = Неопределено) Экспорт
|
||||
|
||||
СтруктураКонфигурации = Новый Структура;
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("set" , НастройкиFTP, "Коллекция", СтруктураКонфигурации);
|
||||
OPI_Инструменты.ДобавитьПоле("proxy", Прокси , "Коллекция", СтруктураКонфигурации);
|
||||
OPI_Инструменты.ДобавитьПоле("tls" , Tls , "Коллекция", СтруктураКонфигурации);
|
||||
|
||||
Возврат СтруктураКонфигурации;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Закрыть соединение !NOCLI
|
||||
// Явно закрывает переданное соединение
|
||||
//
|
||||
// Параметры:
|
||||
// Соединение - Произвольный - Объект компоненты с открытым соединением - conn
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Результат закрытия соединения
|
||||
Функция ЗакрытьСоединение(Знач Соединение) Экспорт
|
||||
|
||||
ПроверитьСоздатьСоединение(Соединение);
|
||||
Результат = Соединение.Close();
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьПриветственноеСообщение(Знач Соединение) Экспорт
|
||||
|
||||
ЗакрыватьСоединение = ПроверитьСоздатьСоединение(Соединение);
|
||||
|
||||
Если Не ЭтоКоннектор(Соединение) Тогда
|
||||
Результат = Соединение;
|
||||
Иначе
|
||||
Результат = Соединение.GetWelcomeMsg();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗакрыватьСоединение Тогда
|
||||
Результат.Вставить("close_connection", ЗакрытьСоединение(Соединение));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Это коннектор !NOCLI
|
||||
// Проверяет, что значение является объектом внешней компоненты для работы с FTP
|
||||
//
|
||||
// Параметры:
|
||||
// Значение - Произвольный - Значение для проверки - value
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Это коннектор
|
||||
Функция ЭтоКоннектор(Знач Значение) Экспорт
|
||||
|
||||
Возврат Строка(ТипЗнч(Значение)) = "AddIn.OPI_FTP.Main";
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить настройки соединения
|
||||
// Формирует структуру настроек подключения FTP
|
||||
//
|
||||
// Параметры:
|
||||
// Домен - Строка - Домен сервера - host
|
||||
// Порт - Число - Порт сервера - port
|
||||
// Логин - Строка, Неопределено - Имя пользователя авторизации, если необходимо - login
|
||||
// Пароль - Строка, Неопределено - Пароль пользователя для авторизации, если необходимо - pass
|
||||
// Пассивный - Булево - Пассивный режим соединения - passive
|
||||
// ТаймаутЧтения - Число - Таймаут чтения - rtout
|
||||
// ТаймаутЗаписи - Число - Таймаут записи - wtout
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура настроек соединения
|
||||
Функция ПолучитьНастройкиСоединения(Знач Домен
|
||||
, Знач Порт = 21
|
||||
, Знач Логин = Неопределено
|
||||
, Знач Пароль = Неопределено
|
||||
, Знач Пассивный = Истина
|
||||
, Знач ТаймаутЧтения = 120
|
||||
, Знач ТаймаутЗаписи = 120) Экспорт
|
||||
|
||||
СтруктураНастроек = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("domain" , Домен , "Строка", СтруктураНастроек);
|
||||
OPI_Инструменты.ДобавитьПоле("port" , Порт , "Число" , СтруктураНастроек);
|
||||
OPI_Инструменты.ДобавитьПоле("passive" , Пассивный , "Булево", СтруктураНастроек);
|
||||
OPI_Инструменты.ДобавитьПоле("read_timeout" , ТаймаутЧтения , "Число" , СтруктураНастроек);
|
||||
OPI_Инструменты.ДобавитьПоле("write_timeout", ТаймаутЗаписи , "Число" , СтруктураНастроек);
|
||||
|
||||
Если Не Логин = Неопределено Тогда
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Логин);
|
||||
СтруктураНастроек.Вставить("login", Логин);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не Пароль = Неопределено Тогда
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Пароль);
|
||||
СтруктураНастроек.Вставить("password", Пароль);
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураНастроек;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить настройки прокси
|
||||
// Формирует структуру настроек прокси-сервера для соединения
|
||||
//
|
||||
// Параметры:
|
||||
// Адрес - Строка - Адрес прокси - addr
|
||||
// Порт - Число - Порт прокси - port
|
||||
// Вид - Строка - Вид прокси: socks5, socks4, http - type
|
||||
// Логин - Строка, Неопределено - Логин авторизации, если необходимо - login
|
||||
// Пароль - Строка, Неопределено - Пароль для авторизации, если необходимо - pass
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура настроек прокси
|
||||
Функция ПолучитьНастройкиПрокси(Знач Адрес
|
||||
, Знач Порт
|
||||
, Знач Вид = "socks5"
|
||||
, Знач Логин = Неопределено
|
||||
, Знач Пароль = Неопределено) Экспорт
|
||||
|
||||
СтруктураНастроек = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("server" , Адрес, "Строка", СтруктураНастроек);
|
||||
OPI_Инструменты.ДобавитьПоле("port" , Порт , "Число" , СтруктураНастроек);
|
||||
OPI_Инструменты.ДобавитьПоле("proxy_type", Вид , "Строка", СтруктураНастроек);
|
||||
|
||||
Если Не Логин = Неопределено Тогда
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Логин);
|
||||
СтруктураНастроек.Вставить("login", Логин);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не Пароль = Неопределено Тогда
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Пароль);
|
||||
СтруктураНастроек.Вставить("password", Пароль);
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураНастроек;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить настройки TLS
|
||||
// Формирует настройки для использования TLS при выполнении запросов
|
||||
//
|
||||
// Примечание:
|
||||
// Настройки Tls могут быть установлены только в момент создания соединения: явного, при использовании функции `ОткрытьСоединение`^^
|
||||
// или неявного, при передаче настроек
|
||||
//
|
||||
// Параметры:
|
||||
// ОтключитьПроверкуСертификатов - Булево - Позволяет работать с некорретными сертификатами, в т.ч. самоподписанными - trust
|
||||
// ПутьКСертификату - Строка - Путь к корневому PEM файлу сертификата, если его нет в системном хранилище - cert
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура настроек TLS соединения
|
||||
Функция ПолучитьНастройкиTls(Знач ОтключитьПроверкуСертификатов, Знач ПутьКСертификату = "") Экспорт
|
||||
|
||||
Возврат OPI_Компоненты.ПолучитьНастройкиTls(ОтключитьПроверкуСертификатов, ПутьКСертификату);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция УстановитьНастройкиFtp(Знач Коннектор, Знач НастройкиFTP)
|
||||
|
||||
ТекстОшибки = "Настройки FTP не являются валидной структурой ключ-значение";
|
||||
Настройки = НастройкиВJson(НастройкиFTP, ТекстОшибки);
|
||||
|
||||
Если ТипЗнч(Настройки) = Тип("Соответствие") Тогда
|
||||
Возврат Настройки;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Коннектор.UpdateSettings(Настройки);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция УстановитьНастройкиПрокси(Знач Коннектор, Знач НастройкиПрокси)
|
||||
|
||||
Если НастройкиПрокси = Неопределено Тогда
|
||||
Результат = Новый Соответствие;
|
||||
Результат.Вставить("result", Истина);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОшибки = "Настройки прокси не являются валидной структурой ключ-значение";
|
||||
Настройки = НастройкиВJson(НастройкиПрокси, ТекстОшибки);
|
||||
|
||||
Если ТипЗнч(Настройки) = Тип("Соответствие") Тогда
|
||||
Возврат Настройки;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Коннектор.UpdateProxy(Настройки);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НастройкиВJson(Знач Коллекция, Знач ТекстОшибки)
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Коллекция);
|
||||
|
||||
Попытка
|
||||
Результат = OPI_Инструменты.JSONСтрокой(Коллекция);
|
||||
Исключение
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
Результат.Вставить("result", Ложь);
|
||||
Результат.Вставить("error" , "Настройки FTP должны содержать только сериализуемые значения");
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОткрытьСоединениеПоКонфигурации(Знач СтруктураКонфигурации)
|
||||
|
||||
Если ЭтоКоннектор(СтруктураКонфигурации) Тогда
|
||||
Возврат СтруктураКонфигурации;
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОшибки = "Передана некорректная конфигурация соединения";
|
||||
|
||||
Попытка
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(СтруктураКонфигурации);
|
||||
Исключение
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
Результат.Вставить("result", Ложь);
|
||||
Результат.Вставить("error" , ТекстОшибки);
|
||||
Возврат Результат;
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Если Не OPI_Инструменты.ПолеКоллекцииСуществует(СтруктураКонфигурации, "set") Тогда
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
Результат.Вставить("result", Ложь);
|
||||
Результат.Вставить("error" , ТекстОшибки);
|
||||
Возврат Результат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
НастройкиFTP = СтруктураКонфигурации["set"];
|
||||
Прокси = OPI_Инструменты.ПолучитьИли(СтруктураКонфигурации, "proxy", Неопределено);
|
||||
Tls = OPI_Инструменты.ПолучитьИли(СтруктураКонфигурации, "tls", Неопределено);
|
||||
|
||||
Возврат ОткрытьСоединение(НастройкиFTP, Прокси, Tls);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПроверитьСоздатьСоединение(Соединение)
|
||||
|
||||
Если ЭтоКоннектор(Соединение) Тогда
|
||||
ЗакрыватьСоединение = Ложь;
|
||||
Иначе
|
||||
ЗакрыватьСоединение = Истина;
|
||||
Соединение = ОткрытьСоединениеПоКонфигурации(Соединение);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЗакрыватьСоединение;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Region Alternate
|
||||
|
||||
Function CreateConnection(Val FTPSettings, Val Proxy = Undefined, Val Tls = Undefined) Export
|
||||
Return ОткрытьСоединение(FTPSettings, Proxy, Tls);
|
||||
EndFunction
|
||||
|
||||
Function GetConnectionConfiguration(Val FTPSettings, Val Proxy = Undefined, Val Tls = Undefined) Export
|
||||
Return ПолучитьКонфигурациюСоединиения(FTPSettings, Proxy, Tls);
|
||||
EndFunction
|
||||
|
||||
Function CloseConnection(Val Connection) Export
|
||||
Return ЗакрытьСоединение(Connection);
|
||||
EndFunction
|
||||
|
||||
Function GetWelcomeMessage(Val Connection) Export
|
||||
Return ПолучитьПриветственноеСообщение(Connection);
|
||||
EndFunction
|
||||
|
||||
Function IsConnector(Val Value) Export
|
||||
Return ЭтоКоннектор(Value);
|
||||
EndFunction
|
||||
|
||||
Function GetConnectionSettings(Val Domain, Val Port = 21, Val Login = Undefined, Val Password = Undefined, Val Passive = True, Val ReadTimeout = 120, Val WriteTimeout = 120) Export
|
||||
Return ПолучитьНастройкиСоединения(Domain, Port, Login, Password, Passive, ReadTimeout, WriteTimeout);
|
||||
EndFunction
|
||||
|
||||
Function GetProxySettings(Val Address, Val Port, Val View = "socks5", Val Login = Undefined, Val Password = Undefined) Export
|
||||
Return ПолучитьНастройкиПрокси(Address, Port, View, Login, Password);
|
||||
EndFunction
|
||||
|
||||
Function GetTlsSettings(Val DisableCertVerification, Val CertFilepath = "") Export
|
||||
Return ПолучитьНастройкиTls(DisableCertVerification, CertFilepath);
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
69
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
69
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
@@ -2864,6 +2864,21 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область FTP
|
||||
|
||||
Процедура FT_ОсновныеМетоды() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_IP" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_Password", ПараметрыТеста);
|
||||
|
||||
FTP_ОткрытьСоединение(ПараметрыТеста);
|
||||
FTP_ПолучитьПриветственноеСообщение(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@@ -24739,6 +24754,60 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область FTP
|
||||
|
||||
Процедура FTP_ОткрытьСоединение(ПараметрыФункции)
|
||||
|
||||
Домен = ПараметрыФункции["PG_IP"];
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
// Простое подключение
|
||||
|
||||
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Домен, 21);
|
||||
Результат = OPI_FTP.ОткрытьСоединение(НастройкиFTP);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение", "FTP"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_FTP.Main"); // SKIP
|
||||
|
||||
// Подключение по TLS через прокси
|
||||
|
||||
ДоменFTP = "172.33.0.11";
|
||||
АдресПрокси = ПараметрыФункции["PG_IP"];
|
||||
|
||||
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(ДоменFTP, 21, Логин, "12we3456!2154");
|
||||
НастройкиПрокси = OPI_FTP.ПолучитьНастройкиПрокси(АдресПрокси, 1080, "socks5", "proxyuser", Пароль);
|
||||
НастройкиTLS = OPI_FTP.ПолучитьНастройкиTls(Истина);
|
||||
|
||||
Результат = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTLS);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение (прокси + tls)", "FTP");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_FTP.Main");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура FTP_ПолучитьПриветственноеСообщение(ПараметрыФункции)
|
||||
|
||||
Домен = ПараметрыФункции["PG_IP"];
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Домен, 21, Логин, Пароль);
|
||||
Соединение = OPI_FTP.ОткрытьСоединение(НастройкиFTP);
|
||||
|
||||
Результат = OPI_FTP.ПолучитьПриветственноеСообщение(Соединение);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПриветственноеСообщение", "FTP");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@@ -55,6 +55,7 @@
|
||||
Разделы.Вставить("VK" , 5);
|
||||
Разделы.Вставить("Viber" , 5);
|
||||
Разделы.Вставить("Twitter" , 4);
|
||||
Разделы.Вставить("FTP" , 5);
|
||||
Разделы.Вставить("PostgreSQL" , 5);
|
||||
Разделы.Вставить("MySQL" , 5);
|
||||
Разделы.Вставить("MSSQL" , 5);
|
||||
@@ -96,6 +97,7 @@
|
||||
Разделы.Вставить("VK" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("Viber" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("Twitter" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("FTP" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("PostgreSQL" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("MySQL" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("MSSQL" , СтандартныеЗависимости);
|
||||
@@ -159,6 +161,7 @@
|
||||
Http = "HTTPКлиент";
|
||||
OpenAI = "OpenAI";
|
||||
MSSQL = "MSSQL";
|
||||
FTP = "FTP";
|
||||
|
||||
ТаблицаТестов = Новый ТаблицаЗначений;
|
||||
ТаблицаТестов.Колонки.Добавить("Метод");
|
||||
@@ -324,6 +327,7 @@
|
||||
НовыйТест(ТаблицаТестов, "OAI_РаботаСФайлами" , "Работа с файлами" , OpenAI);
|
||||
НовыйТест(ТаблицаТестов, "OAI_РаботаСАудио" , "Работа с аудио" , OpenAI);
|
||||
НовыйТест(ТаблицаТестов, "OAI_РаботаСМоделями" , "Работа с моделями" , OpenAI);
|
||||
НовыйТест(ТаблицаТестов, "FT_ОсновныеМетоды" , "Основные методы" , FTP);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/core/Modules/OPI_FTP.os
|
||||
// OneScript: ./OInt/core/Modules/OPI_FTP.os
|
||||
// Lib: FTP
|
||||
// CLI: ftp
|
||||
// Keywords: ftp, ftps
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
// Открыть соединение !NOCLI
|
||||
// Открывает FTP соединение с указанными настройками
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// НастройкиFTP - Структура Из КлючИЗначение - Настройки FTP. См. ПолучитьНастройкиСоединения - set
|
||||
// Прокси - Структура Из КлючИЗначение - Настройки прокси, если необходимо. См ПолучитьНастройкиПрокси - proxy
|
||||
@@ -56,41 +56,41 @@
|
||||
// Возвращаемое значение:
|
||||
// Произвольный - Объект коннектора или соответствие с информацией об ошибке
|
||||
Функция ОткрытьСоединение(Знач НастройкиFTP, Знач Прокси = Неопределено, Знач Tls = Неопределено) Экспорт
|
||||
|
||||
|
||||
Если ЭтоКоннектор(НастройкиFTP) Тогда
|
||||
Возврат НастройкиFTP;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Коннектор = OPI_Компоненты.ПолучитьКомпоненту("FTP");
|
||||
|
||||
|
||||
УстановкаНастроек = УстановитьНастройкиFtp(Коннектор, НастройкиFTP);
|
||||
|
||||
|
||||
Если Не OPI_Инструменты.ПолучитьИли(УстановкаНастроек, "result", Ложь) Тогда
|
||||
Возврат УстановкаНастроек;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Tls = OPI_Компоненты.УстановитьTls(Коннектор, Tls);
|
||||
|
||||
Если Не OPI_Инструменты.ПолучитьИли(Tls, "result", Ложь) Тогда
|
||||
Возврат Tls;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьПрокси = УстановитьНастройкиПрокси(Коннектор, Прокси);
|
||||
|
||||
Если Не OPI_Инструменты.ПолучитьИли(УстановитьПрокси, "result", Ложь) Тогда
|
||||
Возврат УстановитьПрокси;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Коннектор.Connect();
|
||||
Результат = OPI_Инструменты.JSONВСтруктуру(Результат);
|
||||
|
||||
|
||||
Возврат ?(Результат["result"], Коннектор, Результат);
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить конфигурацию соединения
|
||||
// Формирует полную структуру настроек соединения, которая может быть использована вместо самого соединения при вызове других функций
|
||||
//
|
||||
//
|
||||
// Примечание:
|
||||
// Может быть передана в качестве параметра `Соединение` в других функциях вместо настоящего соединения из функции `ОткрытьСоединение`.^^
|
||||
// При этом новое соединение будет открыто и закрыто в рамках вызываемой функции
|
||||
@@ -101,19 +101,19 @@
|
||||
// НастройкиFTP - Структура Из КлючИЗначение - Настройки FTP. См. ПолучитьНастройкиСоединения - set
|
||||
// Прокси - Структура Из КлючИЗначение - Настройки прокси, если необходимо. См ПолучитьНастройкиПрокси - proxy
|
||||
// Tls - Структура Из КлючИЗначение - Настройки TLS, если необходимо. См. ПолучитьНастройкиTls - tls
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура настроек соединения
|
||||
Функция ПолучитьКонфигурациюСоединиения(Знач НастройкиFTP, Знач Прокси = Неопределено, Знач Tls = Неопределено) Экспорт
|
||||
|
||||
СтруктураКонфигурации = Новый Структура;
|
||||
|
||||
|
||||
СтруктураКонфигурации = Новый Структура;
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("set" , НастройкиFTP, "Коллекция", СтруктураКонфигурации);
|
||||
OPI_Инструменты.ДобавитьПоле("proxy", Прокси , "Коллекция", СтруктураКонфигурации);
|
||||
OPI_Инструменты.ДобавитьПоле("tls" , Tls , "Коллекция", СтруктураКонфигурации);
|
||||
|
||||
Возврат СтруктураКонфигурации;
|
||||
|
||||
|
||||
Возврат СтруктураКонфигурации;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Закрыть соединение !NOCLI
|
||||
@@ -125,31 +125,31 @@
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Результат закрытия соединения
|
||||
Функция ЗакрытьСоединение(Знач Соединение) Экспорт
|
||||
|
||||
ПроверитьСоздатьСоединение(Соединение);
|
||||
Результат = Соединение.Close();
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
|
||||
ПроверитьСоздатьСоединение(Соединение);
|
||||
Результат = Соединение.Close();
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьПриветственноеСообщение(Знач Соединение) Экспорт
|
||||
|
||||
ЗакрыватьСоединение = ПроверитьСоздатьСоединение(Соединение);
|
||||
|
||||
Если Не ЭтоКоннектор(Соединение) Тогда
|
||||
|
||||
ЗакрыватьСоединение = ПроверитьСоздатьСоединение(Соединение);
|
||||
|
||||
Если Не ЭтоКоннектор(Соединение) Тогда
|
||||
Результат = Соединение;
|
||||
Иначе
|
||||
Результат = Соединение.GetWelcomeMsg();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗакрыватьСоединение Тогда
|
||||
Результат.Вставить("close_connection", ЗакрытьСоединение(Соединение));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
Иначе
|
||||
Результат = Соединение.GetWelcomeMsg();
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗакрыватьСоединение Тогда
|
||||
Результат.Вставить("close_connection", ЗакрытьСоединение(Соединение));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Это коннектор !NOCLI
|
||||
@@ -168,7 +168,7 @@
|
||||
|
||||
// Получить настройки соединения
|
||||
// Формирует структуру настроек подключения FTP
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Домен - Строка - Домен сервера - host
|
||||
// Порт - Число - Порт сервера - port
|
||||
@@ -177,7 +177,7 @@
|
||||
// Пассивный - Булево - Пассивный режим соединения - passive
|
||||
// ТаймаутЧтения - Число - Таймаут чтения - rtout
|
||||
// ТаймаутЗаписи - Число - Таймаут записи - wtout
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура настроек соединения
|
||||
Функция ПолучитьНастройкиСоединения(Знач Домен
|
||||
@@ -187,39 +187,39 @@
|
||||
, Знач Пассивный = Истина
|
||||
, Знач ТаймаутЧтения = 120
|
||||
, Знач ТаймаутЗаписи = 120) Экспорт
|
||||
|
||||
|
||||
СтруктураНастроек = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("domain" , Домен , "Строка", СтруктураНастроек);
|
||||
OPI_Инструменты.ДобавитьПоле("port" , Порт , "Число" , СтруктураНастроек);
|
||||
OPI_Инструменты.ДобавитьПоле("passive" , Пассивный , "Булево", СтруктураНастроек);
|
||||
OPI_Инструменты.ДобавитьПоле("read_timeout" , ТаймаутЧтения , "Число" , СтруктураНастроек);
|
||||
OPI_Инструменты.ДобавитьПоле("write_timeout", ТаймаутЗаписи , "Число" , СтруктураНастроек);
|
||||
|
||||
|
||||
Если Не Логин = Неопределено Тогда
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Логин);
|
||||
СтруктураНастроек.Вставить("login", Логин);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Если Не Пароль = Неопределено Тогда
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Пароль);
|
||||
СтруктураНастроек.Вставить("password", Пароль);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураНастроек;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить настройки прокси
|
||||
// Формирует структуру настроек прокси-сервера для соединения
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Адрес - Строка - Адрес прокси - addr
|
||||
// Порт - Число - Порт прокси - port
|
||||
// Вид - Строка - Вид прокси: socks5, socks4, http - type
|
||||
// Логин - Строка, Неопределено - Логин авторизации, если необходимо - login
|
||||
// Пароль - Строка, Неопределено - Пароль для авторизации, если необходимо - pass
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура настроек прокси
|
||||
Функция ПолучитьНастройкиПрокси(Знач Адрес
|
||||
@@ -232,20 +232,20 @@
|
||||
OPI_Инструменты.ДобавитьПоле("server" , Адрес, "Строка", СтруктураНастроек);
|
||||
OPI_Инструменты.ДобавитьПоле("port" , Порт , "Число" , СтруктураНастроек);
|
||||
OPI_Инструменты.ДобавитьПоле("proxy_type", Вид , "Строка", СтруктураНастроек);
|
||||
|
||||
|
||||
Если Не Логин = Неопределено Тогда
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Логин);
|
||||
СтруктураНастроек.Вставить("login", Логин);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Если Не Пароль = Неопределено Тогда
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Пароль);
|
||||
СтруктураНастроек.Вставить("password", Пароль);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураНастроек;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить настройки TLS
|
||||
@@ -277,16 +277,16 @@
|
||||
|
||||
ТекстОшибки = "Настройки FTP не являются валидной структурой ключ-значение";
|
||||
Настройки = НастройкиВJson(НастройкиFTP, ТекстОшибки);
|
||||
|
||||
|
||||
Если ТипЗнч(Настройки) = Тип("Соответствие") Тогда
|
||||
Возврат Настройки;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Результат = Коннектор.UpdateSettings(Настройки);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция УстановитьНастройкиПрокси(Знач Коннектор, Знач НастройкиПрокси)
|
||||
@@ -296,86 +296,86 @@
|
||||
Результат.Вставить("result", Истина);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
ТекстОшибки = "Настройки прокси не являются валидной структурой ключ-значение";
|
||||
Настройки = НастройкиВJson(НастройкиПрокси, ТекстОшибки);
|
||||
|
||||
|
||||
Если ТипЗнч(Настройки) = Тип("Соответствие") Тогда
|
||||
Возврат Настройки;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Результат = Коннектор.UpdateProxy(Настройки);
|
||||
Результат = OPI_Инструменты.JsonВСтруктуру(Результат);
|
||||
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НастройкиВJson(Знач Коллекция, Знач ТекстОшибки)
|
||||
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Коллекция);
|
||||
|
||||
Попытка
|
||||
|
||||
Попытка
|
||||
Результат = OPI_Инструменты.JSONСтрокой(Коллекция);
|
||||
Исключение
|
||||
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
Результат.Вставить("result", Ложь);
|
||||
Результат.Вставить("error" , "Настройки FTP должны содержать только сериализуемые значения");
|
||||
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОткрытьСоединениеПоКонфигурации(Знач СтруктураКонфигурации)
|
||||
|
||||
Если ЭтоКоннектор(СтруктураКонфигурации) Тогда
|
||||
Возврат СтруктураКонфигурации;
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОшибки = "Передана некорректная конфигурация соединения";
|
||||
|
||||
Попытка
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(СтруктураКонфигурации);
|
||||
Исключение
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
Результат.Вставить("result", Ложь);
|
||||
Результат.Вставить("error" , ТекстОшибки);
|
||||
Возврат Результат;
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Если Не OPI_Инструменты.ПолеКоллекцииСуществует(СтруктураКонфигурации, "set") Тогда
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
Результат.Вставить("result", Ложь);
|
||||
Результат.Вставить("error" , ТекстОшибки);
|
||||
Возврат Результат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
НастройкиFTP = СтруктураКонфигурации["set"];
|
||||
Прокси = OPI_Инструменты.ПолучитьИли(СтруктураКонфигурации, "proxy", Неопределено);
|
||||
Tls = OPI_Инструменты.ПолучитьИли(СтруктураКонфигурации, "tls", Неопределено);
|
||||
|
||||
Возврат ОткрытьСоединение(НастройкиFTP, Прокси, Tls);
|
||||
|
||||
Если ЭтоКоннектор(СтруктураКонфигурации) Тогда
|
||||
Возврат СтруктураКонфигурации;
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОшибки = "Передана некорректная конфигурация соединения";
|
||||
|
||||
Попытка
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(СтруктураКонфигурации);
|
||||
Исключение
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
Результат.Вставить("result", Ложь);
|
||||
Результат.Вставить("error" , ТекстОшибки);
|
||||
Возврат Результат;
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Если Не OPI_Инструменты.ПолеКоллекцииСуществует(СтруктураКонфигурации, "set") Тогда
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
Результат.Вставить("result", Ложь);
|
||||
Результат.Вставить("error" , ТекстОшибки);
|
||||
Возврат Результат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
НастройкиFTP = СтруктураКонфигурации["set"];
|
||||
Прокси = OPI_Инструменты.ПолучитьИли(СтруктураКонфигурации, "proxy", Неопределено);
|
||||
Tls = OPI_Инструменты.ПолучитьИли(СтруктураКонфигурации, "tls", Неопределено);
|
||||
|
||||
Возврат ОткрытьСоединение(НастройкиFTP, Прокси, Tls);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПроверитьСоздатьСоединение(Соединение)
|
||||
|
||||
Если ЭтоКоннектор(Соединение) Тогда
|
||||
|
||||
Если ЭтоКоннектор(Соединение) Тогда
|
||||
ЗакрыватьСоединение = Ложь;
|
||||
Иначе
|
||||
ЗакрыватьСоединение = Истина;
|
||||
Соединение = ОткрытьСоединениеПоКонфигурации(Соединение);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЗакрыватьСоединение;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЗакрыватьСоединение;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
|
||||
// OneScript: ./OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
Разделы.Вставить("VK" , 5);
|
||||
Разделы.Вставить("Viber" , 5);
|
||||
Разделы.Вставить("Twitter" , 4);
|
||||
Разделы.Вставить("FTP" , 5);
|
||||
Разделы.Вставить("FTP" , 5);
|
||||
Разделы.Вставить("PostgreSQL" , 5);
|
||||
Разделы.Вставить("MySQL" , 5);
|
||||
Разделы.Вставить("MSSQL" , 5);
|
||||
@@ -97,7 +97,7 @@
|
||||
Разделы.Вставить("VK" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("Viber" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("Twitter" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("FTP" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("FTP" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("PostgreSQL" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("MySQL" , СтандартныеЗависимости);
|
||||
Разделы.Вставить("MSSQL" , СтандартныеЗависимости);
|
||||
@@ -161,7 +161,7 @@
|
||||
Http = "HTTPКлиент";
|
||||
OpenAI = "OpenAI";
|
||||
MSSQL = "MSSQL";
|
||||
FTP = "FTP";
|
||||
FTP = "FTP";
|
||||
|
||||
ТаблицаТестов = Новый ТаблицаЗначений;
|
||||
ТаблицаТестов.Колонки.Добавить("Метод");
|
||||
@@ -327,7 +327,7 @@
|
||||
НовыйТест(ТаблицаТестов, "OAI_РаботаСФайлами" , "Работа с файлами" , OpenAI);
|
||||
НовыйТест(ТаблицаТестов, "OAI_РаботаСАудио" , "Работа с аудио" , OpenAI);
|
||||
НовыйТест(ТаблицаТестов, "OAI_РаботаСМоделями" , "Работа с моделями" , OpenAI);
|
||||
НовыйТест(ТаблицаТестов, "FT_ОсновныеМетоды" , "Основные методы" , FTP);
|
||||
НовыйТест(ТаблицаТестов, "FT_ОсновныеМетоды" , "Основные методы" , FTP);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@@ -2871,10 +2871,10 @@
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_IP" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("PG_Password", ПараметрыТеста);
|
||||
|
||||
|
||||
FTP_ОткрытьСоединение(ПараметрыТеста);
|
||||
FTP_ПолучитьПриветственноеСообщение(ПараметрыТеста);
|
||||
|
||||
FTP_ПолучитьПриветственноеСообщение(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -24761,49 +24761,49 @@
|
||||
Домен = ПараметрыФункции["PG_IP"];
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
|
||||
// Простое подключение
|
||||
|
||||
|
||||
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Домен, 21);
|
||||
Результат = OPI_FTP.ОткрытьСоединение(НастройкиFTP);
|
||||
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение", "FTP"); // SKIP
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_FTP.Main"); // SKIP
|
||||
|
||||
|
||||
// Подключение по TLS через прокси
|
||||
|
||||
ДоменFTP = "172.33.0.11";
|
||||
АдресПрокси = ПараметрыФункции["PG_IP"];
|
||||
|
||||
|
||||
ДоменFTP = "172.33.0.11";
|
||||
АдресПрокси = ПараметрыФункции["PG_IP"];
|
||||
|
||||
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(ДоменFTP, 21, Логин, "12we3456!2154");
|
||||
НастройкиПрокси = OPI_FTP.ПолучитьНастройкиПрокси(АдресПрокси, 1080, "socks5", "proxyuser", Пароль);
|
||||
НастройкиTLS = OPI_FTP.ПолучитьНастройкиTls(Истина);
|
||||
|
||||
Результат = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTLS);
|
||||
|
||||
|
||||
Результат = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTLS);
|
||||
|
||||
// END
|
||||
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОткрытьСоединение (прокси + tls)", "FTP");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_FTP.Main");
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_Компонента(Результат, "AddIn.OPI_FTP.Main");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура FTP_ПолучитьПриветственноеСообщение(ПараметрыФункции)
|
||||
|
||||
Домен = ПараметрыФункции["PG_IP"];
|
||||
|
||||
Домен = ПараметрыФункции["PG_IP"];
|
||||
Логин = "bayselonarrend";
|
||||
Пароль = ПараметрыФункции["PG_Password"];
|
||||
|
||||
|
||||
НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Домен, 21, Логин, Пароль);
|
||||
Соединение = OPI_FTP.ОткрытьСоединение(НастройкиFTP);
|
||||
|
||||
Результат = OPI_FTP.ПолучитьПриветственноеСообщение(Соединение);
|
||||
|
||||
|
||||
Результат = OPI_FTP.ПолучитьПриветственноеСообщение(Соединение);
|
||||
|
||||
// END
|
||||
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПриветственноеСообщение", "FTP");
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
179
src/ru/cli/data/Classes/internal/Classes/ftp.os
vendored
179
src/ru/cli/data/Classes/internal/Classes/ftp.os
vendored
@@ -16,6 +16,180 @@
|
||||
ТаблицаСостава.Колонки.Добавить("Описание");
|
||||
ТаблицаСостава.Колонки.Добавить("ОписаниеМетода");
|
||||
ТаблицаСостава.Колонки.Добавить("Область");
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьКонфигурациюСоединиения";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬКОНФИГУРАЦИЮСОЕДИНИЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--set";
|
||||
НоваяСтрока.Описание = "Настройки FTP. См. ПолучитьНастройкиСоединения";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
НоваяСтрока.ОписаниеМетода = "Формирует полную структуру настроек соединения, которая может быть использована вместо самого соединения при вызове других функций";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьКонфигурациюСоединиения";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬКОНФИГУРАЦИЮСОЕДИНИЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--proxy";
|
||||
НоваяСтрока.Описание = "Настройки прокси, если необходимо. См ПолучитьНастройкиПрокси (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьКонфигурациюСоединиения";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬКОНФИГУРАЦИЮСОЕДИНИЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--tls";
|
||||
НоваяСтрока.Описание = "Настройки TLS, если необходимо. См. ПолучитьНастройкиTls (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиСоединения";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИСОЕДИНЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--host";
|
||||
НоваяСтрока.Описание = "Домен сервера";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
НоваяСтрока.ОписаниеМетода = "Формирует структуру настроек подключения FTP";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиСоединения";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИСОЕДИНЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--port";
|
||||
НоваяСтрока.Описание = "Порт сервера (необяз. по ум. - 21)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиСоединения";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИСОЕДИНЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--login";
|
||||
НоваяСтрока.Описание = "Имя пользователя авторизации, если необходимо (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиСоединения";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИСОЕДИНЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--pass";
|
||||
НоваяСтрока.Описание = "Пароль пользователя для авторизации, если необходимо (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиСоединения";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИСОЕДИНЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--passive";
|
||||
НоваяСтрока.Описание = "Пассивный режим соединения (необяз. по ум. - True)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиСоединения";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИСОЕДИНЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--rtout";
|
||||
НоваяСтрока.Описание = "Таймаут чтения (необяз. по ум. - 120)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиСоединения";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИСОЕДИНЕНИЯ";
|
||||
НоваяСтрока.Параметр = "--wtout";
|
||||
НоваяСтрока.Описание = "Таймаут записи (необяз. по ум. - 120)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиПрокси";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИПРОКСИ";
|
||||
НоваяСтрока.Параметр = "--addr";
|
||||
НоваяСтрока.Описание = "Адрес прокси";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
НоваяСтрока.ОписаниеМетода = "Формирует структуру настроек прокси-сервера для соединения";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиПрокси";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИПРОКСИ";
|
||||
НоваяСтрока.Параметр = "--port";
|
||||
НоваяСтрока.Описание = "Порт прокси";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиПрокси";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИПРОКСИ";
|
||||
НоваяСтрока.Параметр = "--type";
|
||||
НоваяСтрока.Описание = "Вид прокси: socks5, socks4, http (необяз. по ум. - socks5)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиПрокси";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИПРОКСИ";
|
||||
НоваяСтрока.Параметр = "--login";
|
||||
НоваяСтрока.Описание = "Логин авторизации, если необходимо (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиПрокси";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИПРОКСИ";
|
||||
НоваяСтрока.Параметр = "--pass";
|
||||
НоваяСтрока.Описание = "Пароль для авторизации, если необходимо (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиTls";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИTLS";
|
||||
НоваяСтрока.Параметр = "--trust";
|
||||
НоваяСтрока.Описание = "Позволяет работать с некорретными сертификатами, в т.ч. самоподписанными";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
НоваяСтрока.ОписаниеМетода = "Формирует настройки для использования TLS при выполнении запросов";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ftp";
|
||||
НоваяСтрока.Модуль = "OPI_FTP";
|
||||
НоваяСтрока.Метод = "ПолучитьНастройкиTls";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬНАСТРОЙКИTLS";
|
||||
НоваяСтрока.Параметр = "--cert";
|
||||
НоваяСтрока.Описание = "Путь к корневому PEM файлу сертификата, если его нет в системном хранилище (необяз. по ум. - Пустое значение)";
|
||||
НоваяСтрока.Область = "Основные методы";
|
||||
|
||||
Возврат ТаблицаСостава;
|
||||
КонецФункции
|
||||
|
||||
@@ -25,9 +199,10 @@
|
||||
|
||||
Возврат "
|
||||
|Контекст = Новый Структура;
|
||||
|
||||
|Контекст.Вставить(""OPI_FTP"", Неопределено);
|
||||
|
|
||||
|
||||
|OPI_FTP = ЗагрузитьСценарий(""%1/oint/core/Modules/OPI_FTP.os"", Контекст);
|
||||
|Контекст.Вставить(""OPI_FTP"", OPI_FTP);
|
||||
|
|
||||
|OPI_FTP = ЗагрузитьСценарий(""%1/oint/core/Modules/OPI_FTP.os"", Контекст);
|
||||
|" + Символы.ПС;
|
||||
|
Reference in New Issue
Block a user