DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Sockets
  • Présentation
  • Comment utiliser le protocole SOCKS5 avec WINDEV, WEBDEV et WINDEV Mobile ?
  • Fonction Proxy
  • Fonction FTPProxy
  • Fonction SocketProxy
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
SOCKS5 est un protocole réseau simple ayant pour but de standardiser l'utilisation d'un proxy pour les applications. Après une courte phase de transaction entre l'application et le serveur de proxy SOCKS5, l’échange de données sur le socket se fait de manière totalement transparente pour l'application.
Comment utiliser le protocole SOCKS5 avec WINDEV, WEBDEV et WINDEV Mobile ?
Plusieurs fonctions permettent de paramétrer l'utilisation d'un proxy via le protocole SOCKS 5 :

Fonction Proxy

Pour utiliser le protocole SOCKS5 avec la fonction Proxy, il suffit de préfixer le nom du serveur de proxy par "socks5://" et d'utiliser la fonction comme d'habitude (en passant le port et les identifiants).
ATTENTION :
  • Un proxy SOCKS5 ne peut pas être utilisé si le protocole HTTP est configuré pour utiliser Wininet (mode de gestion utilisant Internet Explorer). Ce mode de gestion est paramétré grâce à la constante httpParamètreMode de la fonction HTTPParamètre.
  • L’utilisation des fonctions HTTPRequête et HTTPEnvoieFormulaire quand un proxy utilisant le protocole SOCKS5 est défini forcera l’utilisation de cURL.
    Il est donc plutôt conseillé d’utiliser une variable de type httpRequête avec un proxy SOCKS5.
Exemple :
// On ne doit pas utiliser wininet pour avoir accès au proxy SOCKS5
HTTPParamètre(httpParamètreMode, 1)
// Les fonctions suivantes utiliseront le proxy SOCKS5
// à l'adresse 172.12.2.79:1080 avec les identifiants USER:PWD
Proxy("socks5://172.12.2.79", 1080, "USER", "PWD")
req est un httpRequête
req.URL = "https://www.google.fr"
rep est un httpRéponse = req.Envoie()
SI ErreurDétectée ALORS
Erreur(ErreurInfo(errComplet))
SINON
Info("OK")
FIN
Proxy("")

Fonction FTPProxy

Pour utiliser le protocole SOCKS5 avec la fonction FTPProxy, il est nécessaire d'utiliser la constante ftpProxySOCKS5 pour préciser le type du proxy à utiliser.
ATTENTION :
  • Un proxy SOCKS5 ne peut pas être utilisé si le protocole FTP est configuré pour utiliser Wininet (mode de gestion utilisant Internet Explorer). Ce mode de gestion est paramétré grâce à la constante httpParamètreMode de la fonction FTPParamètre. L'utilisation de la fonction FTPProxy provoquera alors une erreur fatale.
  • Un proxy SOCKS5 peut être utilisé uniquement avec les protocoles FTP et SFTP. Si un proxy SOCKS5 est configuré, l'utilisation de la fonction FTPConnecte sur un serveur via FTPES ou FTPIS provoquera une erreur fatale.
Exemple :
// On ne doit pas utiliser wininet pour avoir accès au proxy SOCKS5
FTPParamètre(ftpParamètreMode, 1)
// Les fonctions FTP utiliseront le proxy SOCKS5
// à l'adresse 172.12.2.79:1080 avec les identifiants USER:PWD
FTPProxy(ftpProxySOCKS5, "172.12.2.79",1080, "USER", "PWD")
// On se connecte au serveur FTP de test de rebex
nIDFTP est entier = FTPConnecte("ftp://test.rebex.net/", "demo", "password", 21)
SI nIDFTP = -1 ALORS
Erreur(ErreurInfo(errComplet))
SINON
Info("OK")
FIN
FTPDéconnecte(nIDFTP)
// On enlève le proxy
FTPProxy(ftpProxyAucun)

Fonction SocketProxy

La fonction SocketProxy permet de spécifier si les sockets TCP et les WebSocket doivent passer ou non par un proxy SOCKS5 pour exécuter leurs requêtes.
// Infos du proxy SOCKS5
SocketProxy("socks5://172.17.2.79",1080,"USER","PWD")
 
// Connexion au serveur en passant par le proxy
SI PAS SocketConnecte("tcp_via_socks5", 4242, "172.19.5.80") ALORS
Erreur(ErreurInfo(errComplet))
SINON
// Opérations d'écriture et de lecture (comme d'habitude)
Info("OK")
SocketEcrit("tcp_via_socks5", "écho")
s est un Buffer = SocketLit("tcp_via_socks5")
Trace(BufferVersHexa(s))
SocketFerme("tcp_via_socks5")
FIN
 
// Suppression du proxy pour les sockets
SocketProxy("")
Version minimum requise
  • Version 28
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 19/07/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale