DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Fonctions HTTP
  • Utilisation d'un proxy
  • Comment vérifier si le proxy existe ?
  • Fonction Proxy et protocole SOCKS5
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
Spécifie si les fonctions de communication utilisant le protocole HTTP ou HTTPS doivent ou non passer par un proxy pour exécuter leurs requêtes. Un proxy permet de partager l'accès à Internet entre différents postes d'un réseau.
Les fonctions de communication concernées sont les suivantes :
Cette fonction est prise en compte uniquement au prochain appel d'une fonction utilisant le protocole HTTP.
Remarques :
  • La fonction Proxy paramètre l'accès à Internet via un proxy pour toute l'application.
  • La fonction FTPProxy permet de paramétrer l'utilisation d'un proxy pour les fonctions FTP.
  • La fonction SocketProxy paramètre le passage des sockets TCP et des Websockets par un proxy SOCKS5.
Exemple
// Indique que les prochaines connexions passeront par un proxy
Proxy("192.168.0.1", 8080)
 
// Réalise une requête HTTP
sCodeHTML est une chaîne = HTTPRequête("http://www.pcsoft.fr")
Info("Le code HTML est : " + sCodeHTML)
 
// Annule la prise en compte du proxy
Proxy("")
Syntaxe

Définir le proxy Masquer les détails

Proxy(<Adresse du proxy> [, <Port du proxy> [, <Login> [, <Mot de passe>]]])
<Adresse du proxy> : Chaîne de caractères
Adresse du proxy, donnée sous la forme :
  • adresse IP au format XXX.XXX.XXX.XXX (par exemple 125.5.110.100).
  • URL contenant le nom du serveur (par exemple www.pcsoft.fr). Cette syntaxe est conseillée.
  • adresse IP obtenue par la fonction NetAdresseIP.
  • adresse du proxy SOCKS5 au format :
    socks5://<Adresse IP du proxy>
<Port du proxy> : Entier optionnel
Numéro de port du proxy.
Si ce paramètre n'est pas précisé, le paramètre vaut 80.
<Login> : Chaîne de caractères optionnelle
Authentification auprès du proxy.
Si ce paramètre correspond à une chaîne vide ("", valeur par défaut), aucune authentification n'est effectuée.
<Mot de passe> : Chaîne de caractères optionnelle
Mot de passe pour authentification auprès du proxy.
Si le <Login> correspond à une chaîne vide (""), ce paramètre est ignoré.

Annuler l'utilisation du proxy

Proxy("")
Remarques
AndroidWidget AndroidiPhone/iPadWidget IOSMac Catalyst

Utilisation d'un proxy

Grâce à la fonction Proxy, l'utilisateur pourra paramétrer l'application WINDEV ou WINDEV Mobile pour utiliser ou non un proxy pour le protocole HTTP. Il est conseillé de mettre en place une fenêtre de paramétrage dans l'application WINDEV pour saisir l'adresse du proxy si nécessaire.
Certains proxy nécessitent un paramétrage particulier fait au niveau du navigateur Internet Explorer. Dans ce cas, l'utilisation de la fonction Proxy n'est pas nécessaire : la fonction HTTPParamètre (constante httpParamètreMode) permettra de passer globalement par Internet Explorer pour l'envoi des requêtes HTTP.

Comment vérifier si le proxy existe ?

Le code suivant permet vérifier si le proxy existe grâce à la fonction SocketConnecte :
SI SocketConnecte(lsSocketNom, llSocketPort, lsSocketAdr) = Faux ALORS
RENVOYER Faux
SINON
SocketFerme(lsSocketNom)
FIN

Fonction Proxy et protocole SOCKS5

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("")
Liste des exemples associés :
WD Proxy HTTP Exemples complets (WINDEV) : WD Proxy HTTP
[ + ] Cet exemple WINDEV est un proxy HTTP simplifié.
Il est possible d'enregistrer les connexions et de connaître les pages consultées.
WD ProxyPOP3 Exemples complets (WINDEV) : WD ProxyPOP3
[ + ] Cet exemple présente un proxy POP3. Un proxy est un logiciel qui se connecte à un serveur à la place d'un autre.
On peut utiliser un proxy pour isoler un réseau local d'Internet dans un souci de sécurité par exemple.
Seule la machine abritant le proxy est reliée à Internet et les utilisateurs accèdent au serveur d'email à travers le proxy.
Dans l'exemple le proxy est utilisé pour archiver automatiquement dans une base HFSQL les emails récupérés.
De nombreuses extensions sont possibles pour cette application : filtrage automatique des spams, statistiques sur les emails...
Classification Métier / UI : Code métier
Composante : wd290com.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Attention avec XMLOuvre(xxxx,depuisURL)
La fonction Proxy bloque la lecture d'un fichier XML depuis une URL -> fonction XMLOuvre(xxxx,depuisURL). Au bout d'un certain temps, votre programme reprend la main avec un document vide.

Pour ne pas avoir ce problème, il suffit de charger votre URL via les fonctions HTTP et d'injecter votre source XML avec XMLOuvre("le source XML",depuisChaine)
Patrick ALLÉMOZ
06 oct. 2016

Dernière modification : 02/12/2022

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