PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
  • Using a proxy
  • How to check whether the proxy exists?
  • Proxy 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
Specifies whether the communication functions that use HTTP or HTTPS must go through a proxy to execute their requests. A proxy is used to share the access to Internet between the different network computers.
The relevant communication functions are as follows:
This function is only taken into account the next time a function that uses HTTP is called.
Remarks:
  • Proxy configures the access to Internet via a proxy for the entire application.
  • FTPProxy allows you to configure the use of a proxy for the FTP functions.
  • New in version 28
    SocketProxy determines if TCP sockets and WebSockets must go through a SOCKS5 proxy.
Example
// Indicates that the next connections will go via a proxy
Proxy("192.168.0.1", 8080)
 
// Performs an HTTP request
sHTMLCode is string = HTTPRequest("http://www.windev.com")
Info("The HTML code is: " + sHTMLCode)
 
// Cancels the use of proxy
Proxy("")
Syntax

Defining the proxy Hide the details

Proxy(<Proxy address> [, <Proxy port> [, <Username> [, <Password>]]])
<Proxy address>: Character string
Address of 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.
  • New in version 28
    SOCKS5 proxy address, in the following format:
    socks5://<Proxy IP address>
<Proxy port>: Optional integer
Port number of proxy.
This parameter is set to 80. if it is not specified
<Username>: Optional character string
Authentication for the 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 ("").

Canceling the use of proxy

Proxy("")
Remarks
AndroidAndroid Widget iPhone/iPadIOS WidgetMac Catalyst

Using a proxy

With Proxy, the end user will be able to configure the WINDEV or WINDEV Mobile application to use or not a proxy for the HTTP protocol. We advise you to implement a setting window in the WINDEV application to enter the address of the proxy if necessary.
Some proxies require a specific setting in Internet Explorer. In this case, the call to Proxy is not required: HTTPParameter (httpParameterMode constant) will allow you to go via Internet Explorer when sending HTTP requests.

How to check whether the proxy exists?

The following code is used to check whether the proxy exists via SocketConnect:
IF SocketConnect(lsSocketName, llSocketPort, lsSocketAddr) = False THEN
RESULT False
ELSE
SocketClose(lsSocketName)
END
New in version 28

Proxy and SOCKS5 protocol

To use the SOCKS5 protocol with Proxy, simply prefix the name of the proxy server with "socks5://" and use the function with the standard syntax (passing the port and the identifiers).
CAUTION:
  • A SOCKS5 proxy cannot be used if HTTP is configured to use WinInet (mode that uses Internet Explorer). This mode can be configured with the httpParameterMode constant of HTTPParameter.
  • Calling HTTPRequest and HTTPSendForm with a proxy that uses SOCKS5 will force the use of the cURL command.
    Therefore, it is recommended to use a variable of type httpRequest with a SOCKS5 proxy.
Example:
// Do not use WinInet to access the SOCKS5 proxy
HTTPParameter(httpParameterMode, 1)
// The following functions will use the SOCKS5 proxy
// at address 172.12.2.79:1080 with the identifiers USER:PWD
Proxy("socks5://172.12.2.79", 1080, "USER", "PWD")
req is httpRequest
req.URL = "https://www.google.com"
req is httpResponse = req.Send()
IF ErrorOccurred THEN
Error(ErrorInfo(errFullDetails))
ELSE
Info("OK")
END
Proxy("")
Business / UI classification: Business Logic
Component: wd280com.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment