PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Rappel sur le protocole FTP
  • Commandes FTP
  • Exemple : Obtenir un fichier TEST situé dans la bibliothèque AAA d'un AS/400 :
  • Conditions d'utilisation
  • Permissions requises
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
FTPCommande (Fonction)
En anglais : FTPCommand
Envoie une commande FTP spécifique à un serveur.
Versions 18 et supérieures
Attention : Cette fonction n'est pas disponible lors d'une connexion en mode :
  • FTPIS : FTP sécurisé selon le protocole SSL avec chiffrement implicite.
  • FTPES : FTP sécurisé selon le protocole SSL avec chiffrement explicite.
  • SFTP : FTP sécurisé par un tunnel SSH.
Nouveauté 18
Attention : Cette fonction n'est pas disponible lors d'une connexion en mode :
  • FTPIS : FTP sécurisé selon le protocole SSL avec chiffrement implicite.
  • FTPES : FTP sécurisé selon le protocole SSL avec chiffrement explicite.
  • SFTP : FTP sécurisé par un tunnel SSH.
Attention : Cette fonction n'est pas disponible lors d'une connexion en mode :
  • FTPIS : FTP sécurisé selon le protocole SSL avec chiffrement implicite.
  • FTPES : FTP sécurisé selon le protocole SSL avec chiffrement explicite.
  • SFTP : FTP sécurisé par un tunnel SSH.
PHP Envoie une commande FTP SITE spécifique à un serveur.
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
Versions 18 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidWidget AndroidWindows MobileJavaAjaxCode Utilisateur (MCU)
// Connexion du poste en cours au serveur FTP
NumConnexion = FTPConnecte("192.54.12.8")
// Demande du système du serveur
SI FTPCommande(NumConnexion, "SYST", Réponse) = Vrai ALORS
Info("Information sur le système du serveur : " + RC + Réponse)
SINON
Info("Le serveur n'accepte pas la commande SYST." + ...
"L'information sur le système du serveur n'est pas disponible")
FIN
// Demande de la liste des fichiers du répertoire courant
SI FTPCommande(NumConnexion, "LIST", Réponse, MaListe) = Vrai ALORS
// Voici la liste des fichiers du répertoire en cours sur le serveur
Info("Voici la liste des fichiers du répertoire en cours sur le serveur : " + RC + MaListe)
FIN
WEBDEV - Code ServeurPHP
// Connexion du poste en cours au serveur FTP
NumConnexion = FTPConnecte("192.54.12.8")
// Création d'un groupe GroupeTest
SI FTPCommande(NumConnexion, "ADDGROUP GroupeTest") = Vrai ALORS
Info("Groupe GroupeTest créé")
SINON
Info("Le serveur n'accepte pas la commande ADDGROUP.")
FIN
// Demande de la liste des fichiers du répertoire courant
SI FTPCommande(NumConnexion, "EXEC ls > list.txt") = Vrai ALORS
// La liste des fichiers du répertoire en cours sur le serveur est dans list.txt
Info("La liste des fichiers du répertoire" + ...
  " en cours sur le serveur est dans List.txt")
FIN
Syntaxe
WINDEVWEBDEV - Code ServeurWINDEV MobileEtats et RequêtesAndroidWidget AndroidWindows MobileJavaAjaxCode Utilisateur (MCU)

Envoyer une commande FTP spécifique à un serveur Masquer les détails

<Résultat> = FTPCommande(<Identifiant de la connexion> , <Commande FTP> [, <Réponse du serveur> [, <Résultat de la commande> [, <Mode de transfert> [, <Données à envoyer>]]]])
<Résultat> : Booléen
  • Vrai si la commande a été exécutée,
  • Faux en cas de problème.
<Identifiant de la connexion> : Entier
Identifiant de la connexion, obtenu avec la fonction FTPConnecte.
<Commande FTP> : Chaîne de caractères (entre guillemets)
Commande FTP envoyée au serveur.
<Réponse du serveur> : Chaîne de caractères optionnelle
Variable de type chaîne de caractères contenant la réponse du serveur pour la commande FTP spécifiée. Ce paramètre permet d'obtenir la réponse du serveur sur le canal de commande (le canal de commandes permet la réception des messages d'erreur ou de succès).
Windows Mobile Ce paramètre peut correspondre à une chaîne de caractères ou à un buffer :
  • Si ce paramètre correspond à une chaîne de caractères, cette chaîne est automatiquement convertie en UNICODE pour pouvoir être traitée par le Mobile (par exemple, utilisation de la commande FTP LIST).
  • Si ce paramètre correspond à un buffer, aucune conversion ne sera effectuée (par exemple, utilisation de la commande FTP RETR pour récupérer un fichier : aucune conversion n'est nécessaire).
<Résultat de la commande> : Chaîne de caractères ANSI optionnelle
Variable de type chaîne de caractères ANSI contenant les données correspondant au résultat de la commande FTP spécifiée. Ce résultat est envoyé par le serveur sur le canal de données.
Attention : Si ce paramètre est précisé, la fonction FTPCommande est bloquante jusqu'à réception du résultat. En particulier si la commande ne doit pas recevoir de résultat par le canal de données, le client est bloqué indéfiniment. Pour plus de détails sur les commandes FTP, consultez la spécification RFC959.
<Mode de transfert> : Constante optionnelle de type Entier
Mode de transfert réalisé :
ftpModeBinaire
(Valeur par défaut)
Transfert réalisé en mode binaire : Le fichier est strictement identique entre l'envoi et la réception.
ftpModeASCIITransfert réalisé en mode ASCII. Ce mode est utilisé pour un transfert entre deux systèmes d'exploitation différents, par exemple UNIX vers Windows : le fichier transféré est livré dans le format ASCII du système destinataire.
<Données à envoyer> : Chaîne de caractères optionnelle
Données associées à la commande FTP et devant être envoyées au serveur FTP. Ces données sont envoyées par le canal de données.
WEBDEV - Code ServeurPHP

Envoyer une commande FTP SITE à un serveur Masquer les détails

<Résultat> = FTPCommande(<Identifiant de la connexion> , <Commande FTP>)
<Résultat> : Booléen
  • Vrai si la commande a été exécutée,
  • Faux en cas de problème.
<Identifiant de la connexion> : Variant
Identifiant de la connexion, obtenu avec la fonction FTPConnecte.
<Commande FTP> : Chaîne de caractères (entre guillemets)
Commande FTP envoyée au serveur.
Remarques

Rappel sur le protocole FTP

Ce protocole utilise 2 canaux de communication :
  • Un canal de commandes : permet l'envoi des commandes et la réception des messages d'erreur ou de succès,
  • Un canal de données pour faire transiter les données associées à la commande.

Commandes FTP

Toutes les commandes utilisables sur un serveur FTP sont regroupées dans la spécification RFC959. Ce document est disponible sur Internet (il suffit de réaliser une recherche sur un moteur de recherche Internet en utilisant la référence RFC959).
Quelques exemples classiques : Récupération et envoi de fichiers avec FTPCommande
1. Récupération de fichiers :
Réponse, ResData sont des chaînes
FTPCommande(<Identifiant de la connexion>, ...
"RETR " + <Nom Fichier serveur>, ...
Réponse, ResData, <Mode de transfert>)
// ResData contient le fichier
2. Envoi de fichiers :
Réponse, ResData, DataRésultat sont des chaînes
// ResData contient le fichier à envoyer
FTPCommande(<Identifiant de la connexion>,...
"STOR " + <Nom Fichier serveur>, ...
Réponse, DataRésultat, <Mode de transfert>, ResData)

Exemple : Obtenir un fichier TEST situé dans la bibliothèque AAA d'un AS/400 :

Réponse, ResData sont des chaînes
IDFTP = FTPConnecte("as400", "login", "MDP")
FTPCommande(IDFTP,"RETR " + "AAA/TEST", Réponse, ResData)
// ResData contient le fichier
fSauveTexte("C:\Tmp\test", ResData)
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindowsAndroidWidget AndroidWindows MobileJavaAjaxCode Utilisateur (MCU)

Conditions d'utilisation

La fonction FTPCommande est disponible uniquement si Internet Explorer 5 (ou version supérieure) est installé sur le poste du client FTP.
AndroidWidget Android

Permissions requises

L’utilisation de cette fonction entraîne la modification des permissions requises par l’application.
Permission requise : INTERNET
Cette permission autorise l’application à ouvrir des sockets réseau.
Composante : wd240com.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire