ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Communication / FTP functions
  • FTPProxy and SOCKS5 protocol
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
FTPProxy (Function)
In french: FTPProxy
Specifies whether the communication functions that use the FTP protocol must go through a proxy to run their requests.
This function is taken into account during the next call to a function that uses the FTP protocol.
Caution:
  • This function applies to the FTP protocol only (and not to FTPIS/FTPES/SFTP).
  • In Linux, Android and iOS, this function can only be used with the SOCKS5 protocol (ftpProxySOCKS5 constant).
Example
// Defines the FTP proxy
FTPProxy(ftpProxyUserTogether, "test", 2121, "test", "test")
 
// Opens the connection
ConnectionID is int
ConnectionID = FTPConnect("mytest.doc.com", "test", "test", 21, True, 20)
IF ConnectionID = -1 THEN
Error(ErrorInfo(errFullDetails))
ELSE
...
END
Syntax
FTPProxy(<Proxy Type> [, <Proxy address> [, <Proxy port> [, <Username> [, <Password>]]]])
<Proxy Type>: Integer constant
Type of the FTP proxy to use:
ftpProxyNoneAllows to cancel the use of the FTP proxy.
ftpProxyOpenFTP proxy requiring the "OPEN" command.
The following statements will be sent:
  • USER with the Proxy login
  • PASS with the Proxy password
  • OPEN in the following format: @<Address of FTP Server>:<Port of FTP Server>
  • USER with the FTP login
  • PASS with the FTP password
LinuxAndroidAndroid Widget iPhone/iPad This constant is not available.
ftpProxySiteFTP proxy requiring the "SITE" command.
The following statements will be sent:
  • USER with the Proxy login
  • PASS with the Proxy password
  • SITE in the following format: @<Address of FTP Server>:<Port of FTP Server>
  • USER with the FTP login
  • PASS with the FTP password
LinuxAndroidAndroid Widget iPhone/iPad This constant is not available.
ftpProxySOCKS5FTP proxy using the SOCKS5 protocol.
ftpProxyUserSeparateFTP proxy requiring the "USER" command and the "PASS" command separately.
The following statements will be sent:
  • USER with the Proxy login
  • PASS with the Proxy password
  • USER in the following format: <FTP Login>@<Address of FTP Server>:<Port of FTP Server>
  • PASS with the FTP password
LinuxAndroidAndroid Widget iPhone/iPad This constant is not available.
ftpProxyUserTogetherFTP proxy requiring the "USER" command with the user and the password.
The following statements will be sent:
  • USER in the following format: <Proxy Login>:<FTP Login>@<Address of FTP Server>:<Port of FTP Server>
  • PASS in the following format: <Proxy Password>:<FTP Password>
LinuxAndroidAndroid Widget iPhone/iPad This constant is not available.
<Proxy address>: Optional character string
Address of the FTP proxy in the following format:
  • IP address in XXX.XXX.XXX.XXX format (125.5.110.100 for example).
  • URL containing the server name (www.windev.com for example). This syntax is recommended.
  • IP address returned by NetIPAddress.
<Proxy port>: Optional integer
Port number of the FTP proxy. This parameter is set to 21. if it is not specified
<Username>: Optional character string
Authentication through the FTP proxy. If this parameter is an empty string ("" by default), no authentication is performed.
<Password>: Optional character string
Password for authentication through the proxy. This parameter is ignored if <Username> corresponds to an empty string ("").
Remarks

FTPProxy and SOCKS5 protocol

To use the SOCKS5 protocol with FTPProxy, use the ftpProxySOCKS5 constant to specify the type of proxy to be used.
CAUTION:
  • A SOCKS5 proxy cannot be used if FTP is configured to use WinInet (mode that uses Internet Explorer). This mode can be configured with the httpParameterMode constant of FTPParameter. Calling FTPProxy will cause a fatal error.
  • SOCKS5 proxies can only be used with FTP and SFTP. If a SOCKS5 proxy is configured, calling FTPConnect on a server via FTPES or FTPIS will cause a fatal error.
Example:
// Do not use WinInet to access the SOCKS5 proxy
FTPParameter(ftpParameterMode, 1)
// FTP functions will use the SOCKS5 proxy
// at address 172.12.2.79:1080 with the identifiers USER:PWD
FTPProxy(ftpProxySOCKS5, "172.12.2.79",1080, "USER", "PWD")
// Connect to ftp://test.rebex.net/
nFTPID is int = FTPConnect("ftp://test.rebex.net/", "demo", "password", 21)
IF nFTPID = -1 THEN
Error(ErrorInfo(errFullDetails))
ELSE
Info("OK")
END
FTPDisconnect(nFTPID)
// Remove proxy
FTPProxy(ftpProxyNone)
Business / UI classification: Business Logic
Component: wd290com.dll
Minimum version required
  • Version 16
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 12/02/2022

Send a report | Local help