1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-11-27 22:18:36 +02:00
Files
OpenIntegrations/docs/en/md/FTP/Common-methods/Get-protocol-feature-list.mdx
Vitaly the Alpaca (bot) 1120c732f0 Main build (Jenkins)
2025-10-20 19:41:52 +03:00

115 lines
3.5 KiB
Plaintext
Vendored

---
sidebar_position: 5
description: Get protocol feature list 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 protocol feature list
Gets a list of FTP protocol features supported by the server
`Function GetProtocolFeatureList(Val Connection) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Connection | --conn | Arbitrary | ✔ | Existing connection or connection configuration |
Returns: Map Of KeyAndValue - Processing result
<br/>
:::tip
FTP Command: `FEAT`
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
Host = FunctionParameters["FTP_IP"];
Port = FunctionParameters["FTP_Port"];
Login = FunctionParameters["FTP_User"];
Password = FunctionParameters["FTP_Password"];
UseProxy = True;
FTPS = True;
ProxySettings = Undefined;
TLSSettings = Undefined; // FTPS
FTPSettings = OPI_FTP.GetConnectionSettings(Host, Port, Login, Password);
If UseProxy Then
ProxyType = FunctionParameters["Proxy_Type"]; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
EndIf;
If FTPS Then
TLSSettings = OPI_FTP.GetTLSSettings(True);
EndIf;
Connection = OPI_FTP.CreateConnection(FTPSettings, ProxySettings, TLSSettings);
If OPI_FTP.IsConnector(Connection) Then
Result = OPI_FTP.GetProtocolFeatureList(Connection);
Else
Result = Connection; // Error of connection
EndIf;
```
<Tabs>
<TabItem value="bash" label="Bash" default>
```bash
# JSON data can also be passed as a path to a .json file
oint ftp GetProtocolFeatureList \
--conn "{'set':{'advanced_resolve':true,'domain':'172.33.0.11','login':'bayselonarrend','passive':true,'password':'***','port':'21','read_timeout':'120','write_timeout':'120'},'tls':{'accept_invalid_certs':true,'ca_cert_path':null,'use_tls':true},'proxy':{'login':'proxyuser','password':'***','port':'1080','proxy_type':'socks5','server':'127.0.0.1'}}"
```
</TabItem>
<TabItem value="bat" label="CMD/Bat" default>
```batch
:: JSON data can also be passed as a path to a .json file
oint ftp GetProtocolFeatureList ^
--conn "{'set':{'advanced_resolve':true,'domain':'172.33.0.11','login':'bayselonarrend','passive':true,'password':'***','port':'21','read_timeout':'120','write_timeout':'120'},'tls':{'accept_invalid_certs':true,'ca_cert_path':null,'use_tls':true},'proxy':{'login':'proxyuser','password':'***','port':'1080','proxy_type':'socks5','server':'127.0.0.1'}}"
```
</TabItem>
</Tabs>
```json title="Result"
{
"data": {
"EPRT": null,
"EPSV": null,
"MDTM": null,
"PASV": null,
"PBSZ": null,
"PROT": null,
"REST": "STREAM",
"SIZE": null,
"TVFS": null,
"UTF8": null
},
"result": true,
"close_connection": {
"result": true
}
}
```