ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Communication / HTTP functions
  • 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.
  • 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.
  • 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> is an empty string ("").

Removing a 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: HTTPConfigure (httpConfigureMode 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

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
HTTPConfigure(httpConfigureMode, 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("")
Related Examples:
WD HTTP Proxy Complete examples (WINDEV): WD HTTP Proxy
[ + ] This WINDEV example is a simplified HTTP proxy.
You can save connections and find out which pages were viewed.
WD POP3Proxy Complete examples (WINDEV): WD POP3Proxy
[ + ] This example presents a POP3 proxy. A proxy is a program that connects to a server on behalf of another program.
A proxy can be used to isolate a local network from Internet for security reasons for example.
Only the computer hosting the proxy is linked to Internet and the users access the email server via the proxy.
In this example, the proxy is used to automatically archive the retrieved emails into a HFSQL database.
Several additional features can be used in this application: automatic filtering of spams, statistics about the emails...
Business / UI classification: Business Logic
Component: wd290com.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/23/2023

Send a report | Local help