Slt
Bon tout d'abord je tiens a prévenir que je suis très jeune (14) donc que le code ne seras pas eblouissant mais sa peut toujours servir.
Il permet de se connecter a un ftp grace a winsock (d'accord il y en a beaucoups) avec un proxy ou sans. Les seules fonction qu'il a sont connection-deconnection(Il de vrait être mis a jour dès que j'aurais des réponses a certaines questions.
Si vou pouviez d'ailleur m'aidez a faire en sorte que la commande list marche et que l'on puisse up dans le serveur je vous serait reconnaissant.
Enfin bon a part sa le code n'est pas long et je pense assez bien expliqué a vous de voir maintenant.
Je mets le code mets vous ne trouverez surement pas quels sont les objets utilisé sans télécharger le ZIP.
Source / Exemple :
Private Sub connect_Click()
If Option1.Value = True Then
If Text1.Text = "" Then
MsgBox "Veuillez rentrer une adresse proxy ex: 127.125.145.2"
Else
If Text2.Text = "" Then
MsgBox "Veuillez rentrer un nom de prot ex:80"
Else
Winsock1.Close '// On ferme la connection (évite ainsi des problemes)
Winsock1.connect Text1.Text, Text2.Text '//On se connecte au proxy
End If
End If
End If
If Option2.Value = True Then
Winsock1.Close '// On ferme la connection (évite ainsi des problemes)
Winsock1.connect serveur.Text, port.Text '//On se connecte au proxy
End If
End Sub
Private Sub deconnect_Click()
Winsock1.Close
Winsock2.Close
connect.Enabled = True
deconnect.Enabled = False
End Sub
Private Sub Form_Load()
End Sub
Private Sub Option1_Click()
Text1.Enabled = True
Text2.Enabled = True
End Sub
Private Sub Option2_Click()
Text1.Enabled = False
Text2.Enabled = False
End Sub
Private Sub Winsock1_Connect() '// Quand on est connecté au proxy
If Option1.Value = True Then
journal.Text = " Connection au proxy accepter" '// on certifie que la connection au proxy est faite
Winsock1.SendData "CONNECT " & serveur.Text & ":" & port.Text & " HTTP/1.0" & vbCrLf & vbCrLf '// On envoie au proxy la commande pour qu'il se connecte au FTP
End If
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) '// quand la commande senddata a envoyer notre demande et qu'elle est arrivé
Dim repftp As String
Dim Codeftp As String
Dim Temp
Winsock1.GetData repftp '// Récuperation de la réponse du serveur.
journal.Text = journal.Text & repftp '//On la mets dans le journal
ftpCode = 0
If Mid(repftp, 4, 1) <> "-" Then '// Si le quatrième caratère de la réponse n'est pas un "-" on récupère le code.
Codeftp = Left(repftp, 4)
End If
Select Case Codeftp '// On donne les réponse en foànction de se que le serveur nous demande
Case "220 ": '// Si il nous demande l'utilisateur
Winsock1.SendData "USER " & login.Text & vbCrLf '// On lui donne l'utilisateur
journal.Text = journal.Text & "USER " & login.Text & vbCrLf '// on mets dans le journal
Case "331 ": '// Si il nous demande le mot de passe
Winsock1.SendData "PASS " & pass.Text & vbCrLf '// On lui donne le PASS
journal.Text = journal.Text & "PASS " & pass.Text & vbCrLf '// On mets dans le journal
Case "230 ": '// Si le mot de passe et le nom d'utilisateur sont acceptée
deconnect.Enabled = True
connect.Enabled = False
Winsock1.SendData "PASV" & vbCrLf '// On envois la commande PASV pour s'avoir sur quel port on se connecte
journal.Text = journal.Text & "PASV" & vbCrLf '// On mets dans le journal
Case "227 ": '// Si commande PASV acceptée
'// On récupère le portsur lequel on va connecter le socket de données
Temp = Split(repftp, ")")
Temp = Split(Temp(0), "(")
Temp = Split(Temp(1), ",")
FtpDataRemotePort = CLng(Temp(4)) * 256 + CLng(Temp(5))
'// Récuperation du port terminé, connection au socket de données
Winsock2.connect serveur.Text, FtpDataRemotePort
'If ftpdata.State <> 0 Then
' ' et on envois la commande LIST
' ftpdialog.SendData "LIST" & vbCrLf
' ftpinfo.Text = ftpinfo.Text & "LIST" & vbCrLf
'Dim StrString As String
'ftpdialog.GetData StrString, vbString, bytesTotal
'List1.AddItem (StrString)
' End If
Case "221 ": '// si le serveur a fermé la connection
deconnect.Enabled = False
Winsock1.Close
'If Winsock2.State <> 0 Then
' Winsock2.Close
'End If
connect.Enabled = True
End Select
End Sub
Conclusion :
Biens maintenant a vous de me notez. N'hésitez pas a me réprimendez tant que se ne sont pas des mots grossiers. Et si vous pouviez m'aidez. Merci.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.