Bonjour,

Suite à mon précédent sujet, j'ai continué de potacher mon petit programme, il fonctionne à merveille SAUF le plus important...
Quand le programme veut se connecter au FTP pour télécharger la version, ça me met "Le serveur distant a retourné une erreur : (530) Non connecté".

Pourtant je renseigne les ID (ils sont corrects) et le port (21).
Donc je ne sais pas où se situe le souci en faite :-/.

Voici le code :
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 Sub dl()
 
        Dim monUriFichier As New System.Uri(ftp)
        Dim monUriDestinationFichier As New System.Uri(lac)
 
        If Not (monUriFichier.Scheme = Uri.UriSchemeFtp) Then
            MessageBox.Show("L'Uri du fichier sur le serveur FTP n'est pas valide",
                            "Une erreur est survenue", MessageBoxButtons.OK, MessageBoxIcon.Warning)
 
            Exit Sub
        End If
 
        If Not (monUriDestinationFichier.Scheme = Uri.UriSchemeFile) Then
            MessageBox.Show("Le chemin de destination n'est pas valide !",
                            "Une erreur est survenue",
                            MessageBoxButtons.OK, MessageBoxIcon.Warning)
 
            Exit Sub
        End If
 
        Dim monResponseStream As Stream = Nothing
        Dim monFileStream As FileStream = Nothing
        Dim monReader As StreamReader = Nothing
        Try
 
            Dim downloadRequest As FtpWebRequest = CType(WebRequest.Create(monUriFichier), FtpWebRequest)
 
            If Not user.Length = 0 Then
                Dim monCompteFtp As New NetworkCredential(user, pass, "21")
                downloadRequest.Credentials = monCompteFtp
            End If
 
            Dim downloadResponse As FtpWebResponse = CType(downloadRequest.GetResponse(), FtpWebResponse)
            monResponseStream = downloadResponse.GetResponseStream()
 
            Dim nomFichier As String = monUriDestinationFichier.LocalPath.ToString
 
            monFileStream = File.Create(nomFichier)
 
            Dim monBuffer(1024) As Byte
            Dim octetsLus As Integer
 
            While True
 
                octetsLus = monResponseStream.Read(monBuffer, 0, monBuffer.Length)
                If octetsLus = 0 Then
                    Exit While
                End If
 
                monFileStream.Write(monBuffer, 0, octetsLus)
            End While
            MessageBox.Show("Téléchargement effectué.")
 
        Catch ex As UriFormatException
            MessageBox.Show(ex.Message)
        Catch ex As WebException
            MessageBox.Show(ex.Message)
        Catch ex As IOException
            MessageBox.Show(ex.Message)
        Finally
 
            If monReader IsNot Nothing Then
                monReader.Close()
            ElseIf monResponseStream IsNot Nothing Then
                monResponseStream.Close()
            End If
 
            If monFileStream IsNot Nothing Then
                monFileStream.Close()
            End If
        End Try
    End Sub
Le code n'est pas parfait je le sais :-/ j'accepte toutes les critiques afin de m'améliorer.
Merci d'avance de votre aide.
Cordialement

Vazer7070