---
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 | &#x2714; | FTP settings. See GetConnectionSettings |
  | Proxy | --proxy | Structure Of KeyAndValue | &#x2716; | Proxy settings, if required. See GetProxySettings |
  | Tls | --tls | Structure Of KeyAndValue | &#x2716; | TLS settings, if necessary. See GetTlsSettings |

  
  Returns:  Structure Of KeyAndValue - Connection settings structure

:::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"
    Host     = "172.33.0.10";
    Port     = "21";
    Login    = "bayselonarrend";
    Password = "12we...";

    UseProxy = True;
    FTPS     = True;

    ProxySettings = Undefined;
    TLSSettings   = Undefined; // FTPS

    FTPSettings = OPI_FTP.GetConnectionSettings(Host, Port, Login, Password);

    If UseProxy Then

        ProxyType = "http"; // http, socks5, socks4

        ProxyAddress  = "127.0.0.1";
        ProxyPort     = "8071";
        ProxyLogin    = "proxyuser";
        ProxyPassword = "12we...";

        ProxySettings = OPI_FTP.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);

    EndIf;

    If FTPS Then
        TLSSettings = OPI_FTP.GetTLSSettings(True);
    EndIf;

    Result = OPI_FTP.GetConnectionConfiguration(FTPSettings, ProxySettings, TLSSettings);
```
 

 <Tabs>
  
    <TabItem value="bash" label="Bash" default>
        ```bash
            # JSON data can also be passed as a path to a .json file
            
            oint ftp GetConnectionConfiguration \
             --set "{'domain':'172.33.0.11','port':'21','passive':true,'read_timeout':'120','write_timeout':'120','advanced_resolve':true,'login':'bayselonarrend','password':'***'}" \
             --proxy "{'server':'127.0.0.1','port':'1080','proxy_type':'socks5','login':'proxyuser','password':'***'}" \
             --tls "{'use_tls':true,'accept_invalid_certs':true}"
        ```
    </TabItem>
  
    <TabItem value="bat" label="CMD/Bat" default>
        ```batch
            :: JSON data can also be passed as a path to a .json file
            
            oint ftp GetConnectionConfiguration ^
             --set "{'domain':'172.33.0.11','port':'21','passive':true,'read_timeout':'120','write_timeout':'120','advanced_resolve':true,'login':'bayselonarrend','password':'***'}" ^
             --proxy "{'server':'127.0.0.1','port':'1080','proxy_type':'socks5','login':'proxyuser','password':'***'}" ^
             --tls "{'use_tls':true,'accept_invalid_certs':true}"
        ```
    </TabItem>
</Tabs>


```json title="Result"
{
 "set": {
  "domain": "172.33.0.11",
  "port": 21,
  "passive": "***",
  "read_timeout": 120,
  "write_timeout": 120,
  "advanced_resolve": true,
  "login": "bayselonarrend",
  "password": "***"
 },
 "proxy": {
  "server": "host.docker.internal",
  "port": 1080,
  "proxy_type": "socks5",
  "login": "proxyuser",
  "password": "***"
 },
 "tls": {
  "use_tls": true,
  "accept_invalid_certs": true
 }
}
```
