IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6] méthode Execute Protocole Ftp [Trucs & Astuces]


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 4
    Par défaut [VB6] méthode Execute Protocole Ftp
    bonjour,
    je voudrait récupérer un fichier texte d'un ordinateur distant, je n'arrive pas a trouver le script vb de base qui permet de réaliser cela, en utilisant Inet.Execute, mais faut il créer ce code dans un main et faut il déclarer d'autres variables pour que cela fonctionne?
    merci d'avance,

  2. #2
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut
    Voici un bout de code que j'ai trouvé sur le net.
    Merci à Raptor car cela fonctionne une merveille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    ' ...............................................
    ' ..:   Télécharger un fichier sans OCX   :..
    ' ..:    E-mail : raptor@mailfrance.com   :..
    ' ..:      URL : www.raptor.fr.fm     :..
    ' ...............................................
     
    Option Explicit
     
    Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
    Public Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hOpen As Long, ByVal sUrl As String, ByVal sHeaders As String, ByVal lLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
    Public Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
    Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
     
    Public Const INTERNET_OPEN_TYPE_PRECONFIG = 0
    Public Const INTERNET_OPEN_TYPE_DIRECT = 1
    Public Const INTERNET_OPEN_TYPE_PROXY = 3
     
    Public Const scUserAgent = "VB OpenUrl"
    Public Const INTERNET_FLAG_RELOAD = &H80000000
    Public ErrorFlag As Boolean
    Public CloseRequest As Boolean
    Public Downloading As Boolean
    Public dlSize As Long
     
     
    Sub Download(URL As String, SaveAs As String)
     
        Dim hOpen                As Long
        Dim hOpenUrl            As Long
        Dim bDoLoop          As Boolean
        Dim bRet                As Boolean
        Dim sReadBuffer      As String * 2048
        Dim lNumberOfBytesRead  As Long
        Dim sBuffer          As String
     
        hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
        hOpenUrl = InternetOpenUrl(hOpen, URL, vbNullString, 0, INTERNET_FLAG_RELOAD, 0)
        bDoLoop = True
        While bDoLoop
            sReadBuffer = vbNullString
            bRet = InternetReadFile(hOpenUrl, sReadBuffer, Len(sReadBuffer), lNumberOfBytesRead)
            sBuffer = sBuffer & Left$(sReadBuffer, lNumberOfBytesRead)
            If (Not CBool(lNumberOfBytesRead)) Then bDoLoop = False
        Wend
        On Error GoTo 0
            Open SaveAs For Binary Access Write As #1
            Put #1, , sBuffer
            Close #1
        If hOpenUrl <> 0 Then InternetCloseHandle (hOpenUrl)
        If hOpen <> 0 Then InternetCloseHandle (hOpen)
    End Sub
    Clive

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 4
    Par défaut
    salut,
    Est ce que tu pourrais n'en dire un peu plus, en fait je débute..Quels sont les variables que je dois remplacer?
    Est ce que la méthode openurl n'est pas fait uniquement pour récupérer un document http?
    merci

  4. #4
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut
    Si tu colles ce code dans ton projet (de préférence dans un module, pas dans une form) tu disposes alors de la fonction "Download"
    Tu l'appelles avec l'adresse du fichier ou de la page à télécharger et le chemin vers le fichier pour sauvegarder ce que tu as téléchargé.
    Cela marche aussi bien pour http que pour ftp
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'fichier http
    call download("http://clumb.free.fr/WG11/quotes.txt", "c:\toto.txt")
    'Page http
    call download("http://clumb.free.fr/index.htm", "c:\titi.txt")
    'ftp
    call download("ftp://ftp.symantec.com/public/francais/00index.txt", "c:\tata.txt")
    Clive

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 4
    Par défaut
    okd 'accord.
    Par contre cela marche t'il si je dois récupérer un fichier text à une adresse du style 192.xxx.xxx.xx et comment spécifier le chemin , avec des \\?
    Et concernant l'appel de la fonction, je dois la faire dans un sub main de form?
    merci encore

  6. #6
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut
    Pour l'URL on peut bien sur mettre 192.x.x.x à la place de www.ibm.com, pourvu que l'adresse se resout à un seul server web.
    Il faut aussi que la machine au 192.x.x.x ait un server http ou ftp qui tourne... 8)
    Le syntaxe est http://192.x.x.x/chemin/fichier ou ftp://pareil
    L'appel de procédure (c'est pas une fonction car elle ne retourne pas de valeur) peut se faire de n'importe où dans ton projet, par exemple dans l'évenement d'un bouton_click sur une form.

    Clive

  7. #7
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 4
    Par défaut
    En fait le fichier se copie bien ou je veux mais pas le contenu, j'ai des erreurs " the requested url could not be retrieved", pourtant je suis sur de l'url et du chemin ensuite.
    je ne comprend pas,

  8. #8
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut
    Est-ce que cela marche avec les exemples que je t'ai donné ? (Il sont rééls).
    Si oui, il faudrait regarder du coté de ton URL - est-ce qu'il marche dans l'exporateur Internet ?
    Est-ce qu'il faut un logon pour le serveur ftp ? (dans ce cas l'URL devient ftp://nom:pass@ftp.tartampion.com/...)

    Est-ce que le message d'erreur vient de ton serveur proxy des fois ?

    Clive

Discussions similaires

  1. protocole ftp 2 ports ??? port message, port data
    Par loupin dans le forum Développement
    Réponses: 3
    Dernier message: 03/03/2006, 12h51
  2. [Protocole] FTP TelnetInputStream, probleme d'ecriture ...
    Par TMS dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 31/01/2006, 12h53
  3. [FTP] transfert de fichiers utilisant le protocole ftp
    Par ista9im dans le forum Langage
    Réponses: 1
    Dernier message: 30/09/2005, 16h49
  4. protocole FTP
    Par matthew_a_peri dans le forum Développement
    Réponses: 1
    Dernier message: 03/03/2005, 15h09
  5. protocole ftp
    Par windob dans le forum Développement
    Réponses: 5
    Dernier message: 08/01/2004, 18h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo