DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Fonctions SSH
  • Exemple de la fonction SSHLit
Exemple de la fonction SSHLit
Cet exemple permet de lire le résultat d'une commande SSH.
// La session a été ouverte avec la fonction SSHConnecteShell
// cMaSession est une sshSession
 
soit SSH_PROMPT = "$ "
soit NB_ESSAIS  = 20
soit MAX_ESSAIS = 2
 
nNbEssais est un entier
nNbMaxEssais est un entier
sStdOut est une chaîne ANSI
sStdOutline est une chaîne ANSI
sStdBuffer est une chaîne ANSI
 
// Lecture de la console du shell SSH après l'envoi d'une commande
// avec la fonction SSHEcrit
TANTQUE Vrai
 
// Consomme le contenu de la console en laissant 1s de répit
sStdBuffer = SSHLit(cMaSession, 1000, sshSortieStandard)
 
// Tant que la console est vide
SI sStdBuffer = "" ALORS
 
nNbEssais = 0
 
// On tente une relecture jusqu'à <NB_ESSAIS> fois en laissant 100ms de répit
// entre chaque essai
TANTQUE sStdBuffer = "" _ET_ nNbEssais < NB_ESSAIS
nNbEssais ++
sStdBuffer = SSHLit(oSession, 100, nConsole)
FIN
 
// Fin
SI nNbEssais = NB_ESSAIS ALORS
 
// Mode interactif (le shell attend une réponse)
SI sStdOutline =]~ ":" ALORS
SORTIR
FIN
 
nNbMaxEssais ++
nNbEssais = 0
 
SI nNbMaxEssais >= MAX_ESSAIS ALORS
ErreurDéclenche(500, "Connexion expirée")
SORTIR
FIN
 
CONTINUER
FIN
FIN
 
// Si la console n'est pas vide
SI sStdBuffer <> "" ALORS
 
// Supprime les <CR> seuls
sStdBuffer = Remplace(sStdBuffer, " " + Caract(13), "")
 
// Complète
sStdOutline += sStdBuffer
 
// Si la ligne se termine par <RC>
SI sStdOutline =] RC ALORS
 
// Complète la sortie
sStdOut += sStdOutline
sStdOutline = ""
 
// On peut continuer à lire
CONTINUER
 
// Si la ligne se termine par le prompt
SINON SI sStdOutline =] SSH_PROMPT
 
// Complète la sortie
sStdOut += sStdOutline
sStdOutline = ""
 
// Fin de la lecture
SORTIR
SINON
 
// On continue
CONTINUER
FIN
FIN
FIN
 
// Reliquat
SI sStdOutline <> "" ALORS
 
// Complète la sortie
sStdOut += sStdOutline
sStdOutline = ""
FIN
Version minimum requise
  • Version 20
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

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