--- 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
:::tip FTP Command: `FEAT` :::
```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; ``` ```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'}}" ``` ```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'}}" ``` ```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 } } ```