- Présentation
- Comment utiliser le protocole SOCKS5 avec WINDEV, WEBDEV et WINDEV Mobile ?
- Fonction Proxy
- Fonction FTPProxy
- Fonction SocketProxy
Gestion du protocole SOCKS5
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("")
Documentation également disponible pour…
|
|
|
|