begin process at 2012 02 13 15:37:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > CONNEXION FTP AVEC WINSOCK ET POSSIBLITÉ DE PASSER PAR UN PROXY !!!!

CONNEXION FTP AVEC WINSOCK ET POSSIBLITÉ DE PASSER PAR UN PROXY !!!!


 Information sur la source

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Niveau :Débutant Date de création :30/06/2004 Date de mise à jour :30/06/2004 19:21:48 Vu / téléchargé :4 340 / 595

Auteur : RMOINAS

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • 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
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.


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source avec une capture GESTIONNAIRE DE TÉLÉCHARGEMENT, AVEC REPRISE ET MULTITHREADI... par Madx23
Source avec Zip Source avec une capture CONVERTIR DU TEXTE RTF EN CODE HTML ET VICE-VERSA par vicosta
Source avec Zip Source avec une capture DICTIONAIRE TEXT/AUDIO/VISUELLE ANGLAIS AVEC WEBBROWSER CONT... par majnounmajda
Source avec Zip Source .NET (Dotnet) NSLOOKUP EN VB.NET OU COMMENT FAIRE UNE REQÛETE DNS EN PRÉCI... par ShareVB
Source avec Zip Source avec une capture MINI SEVEUR HTTP AVEC INTERFACE GRAPHIQUE ET IMPLÉMENTATIONS... par lemout

Commentaires et avis

Commentaire de dragon le 30/06/2004 17:12:03

ben ej trouve très bien moi, mêem le proxy est géré

Commentaire de dragon le 30/06/2004 17:12:57

juste graphiquement qu'il laisse a désirer, mais ça je crois que tu le savais toi aussi lol

Commentaire de RMOINAS le 30/06/2004 17:26:38

Oui je le savais. Je suis contant que la source plaise a au moins une personne (en esperant que tu n'a pas trouver de bug sinon dis le moi).

En fait je pense mettre un meilleur graphique lorsque elle seras completement terminé

Commentaire de Philippe734 le 30/06/2004 18:26:28

c vrai qu'il y a déjà pas mal de tut pour winsock mais ta contribution est importante qd meme. saurais tu comment se connecter aux serveurs d'hotmail avec winsock (pour travailler sur les mails) ? car hotmail est en http. je cherche avec winsock mais je trouve pas, je voudrais lire les mails, les récupérer (hotmail).

Commentaire de RMOINAS le 30/06/2004 19:27:20

dsl mais je ne sais pas. Je ne pense pas que récupérer le mails soit pareil que se connectée au serveur(a moins que tu me donne l'adresse du serveur mais je ne pense pas que tu l'ai).

Je vais chercher et je te dirais comment faire si je trouve OK??

Commentaire de Renfield le 30/06/2004 21:39:46 administrateur CS

pour mon usage perso, au boulot, j'ai fait quelques lignes pour du FTP

ca m'a permis d'apprendre des trucs....

si tu veux de l'aide sur les connexion de données....  tu peux me joindre sur MSN : thomas_reynald@msn.com

Commentaire de Belt le 25/05/2005 10:26:35

juste un problème c'est que si tu es derrière un proxy ton winsock2.connect ip, port ne fonctionnera pas !! il faut passe par le mode actif avec la commande PORT ...

Commentaire de hackoo le 23/02/2010 01:04:08 10/10

Cette Source m'intéresse beaucoup.Voila j'explique un peu pourquoi:
J'ai utilisé le programme ftp de DOS de Windows pour envoyer un fichier chaque jour avec un Vbscript. Nous venons d'ajouter un serveur SQUID proxy dans notre réseau avec un Login et un Mot de passe utilisant le port 3128.
Ma question est la suivante: comment faire pour modifier cette source pour résoudre ce probléme de Proxy avec le Login et le mot de passe. autrement dit quelle est la syntaxe exacte pour aboutir a mon objectif?
Merci d'avance!

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales