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

Développement Discussion :

[System.Net.Sockets] Connexion via un proxy


Sujet :

Développement

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Par défaut [System.Net.Sockets] Connexion via un proxy
    Bonjour tous le monde,

    j'aimerai effectué une connexion FTP avec System.Net.Sockets en passant par un proxy.

    C'est possible ?

    Si oui, comment faire ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Utilise la classe FtpWebRequest (dans le namespace System.Net), plutôt que de réinventer la roue... elle permet, entre autres, de spécifier le proxy à utiliser

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Par défaut
    Malheureusement, j'utilise un composant maison que je dois adapter ...

    j'aurais bien voulu moi, passer par FtpWebRequest ...

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Aïe... ça se complique alors
    Je pense qu'il faut implémenter le protocole du proxy, mais je sais pas trop comment ça marche...
    Tu auras peut-être plus de chances sur un forum plus spécialisé sur le développement réseau, celui là par exemple. Dis moi si tu veux que je déplace la discussion.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Par défaut
    oui, va y, déplace
    merci pour le lien, je vais regarder déjà s'il y a des infos

    En plus, c'est du .net 1.1 ...

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Par défaut
    Bonjour,

    j'ai trouvé une classe C# pour me connecter à un serveur via un proxy.

    Problème, j'ai l'erreur suivante :
    Une connexion existante a dû être fermée par l'hôte distant.
    Quelqu'un pourrait-il m'expliquer ?

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ca veut dire que le serveur, ou le proxy, a interrompu la connexion...
    Pour info, c'est quoi la classe que tu as utilisée ?

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Par défaut
    Une classe (en fait un ensemble de classe) que j'ai récupéré sur le site
    http://www.mentalis.org/

  9. #9
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Par défaut
    Bonjour,

    je développe aussi une classe FTP et je cherche le protocole proxy.
    Je suis allé sur le site http://www.mentalis.org/soft/class.qpx?id=9
    Mais c'est compliqué il y a 4 types proxy :
    HTTP1.1,
    SOCK4,
    SOCK4A,
    SOCK5

    En plus, il y a des proxy FTP :
    SITE,
    USER après logon,
    Proxy OPEN,
    Transparent,
    USER RemoteID@RemoteHost,
    USER FireID@Remotehost,
    USER RemoteID@RemoteHost FireID,
    USER RemoteID@FireID@RemoteHost

    je suis perdu

    J'ai trouvé ce document : http://www.codeproject.com/KB/cpp/ProxyFtp.aspx
    mais je ne comprend pas comment on peut spécifier un port si le serveur qu'on veut atteindre n'est pas sur le port 21

    EDIT :
    il suffit de faire adresse_de_mon_serveur:port !!! Cool non ?

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Par défaut
    J'ai réussi à implémenter la classe

    La connexion FTP fonctionne nickel, avec ou sans proxy :j'arrive à gérer les deux cas.

    Cependant, je suis confrontée à un autre problème à présent :
    Lorsque je vais uploader un fichier, j'ai une erreur 500

    Le log est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PUT "D:\USER\TEMP\monFile.xip"
    500 Syntax error, command unrecognized.
    Mon code est ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void execute(String command)
    {
    	if(this._debug == true)
    		this._trace += "\n" + command;
    	byte[] cmdbytes = this._encode.GetBytes((command + "\r\n").ToCharArray());
    	this._clientSocket.Send(cmdbytes, cmdbytes.Length, SocketFlags.None);
    	this.readReply();
    }
    En sachant que this._clientSocket est de type proxySocket qui lui même hérite de la classe System.Net.Socket

    J'appelle la méthode ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.execute(@"PUT ""D:\USER\TEMP\monFile.xip""");
    Lorsque je me connecte via une fenêtre dos, et que je tape la commande, elle fonctionne... mais lorsque je passe par mon application, ça plante.

    Une idée ?

  11. #11
    Membre confirmé Avatar de bobjoumi
    Profil pro
    Inscrit en
    Février 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2009
    Messages : 94
    Par défaut
    bonjour je suis débutant en C# et je développe une application pour un PPC sous Windows Mobile 5...
    le programme doit envoyé un fichier sur un PC distant, jais d'abord pensé a un simple dossier partagé et faire un file.copy mais ça marche pas alor je me suis rabattue sur le ftp mais la je suis complètement perdue

    je voudrais utiliser la classe System.Net.Sockets pour faire un simple up.

    pouvez vous me donné un bout de votre code pour cette simple action.

    merci d'avance!!!

Discussions similaires

  1. Actualiser requete TcpClient() "System.Net.Sockets"
    Par vincent1890 dans le forum VB.NET
    Réponses: 7
    Dernier message: 18/11/2012, 18h54
  2. [c#] utilisation de System.Net.Socket
    Par TERRIBLE dans le forum Framework .NET
    Réponses: 1
    Dernier message: 21/12/2009, 09h35
  3. Test de connexion via un proxy squid.
    Par byloute dans le forum Réseau
    Réponses: 0
    Dernier message: 27/02/2009, 11h25
  4. [System.Net.Sockets.TcpListener] multi port
    Par clemsouz dans le forum Windows Forms
    Réponses: 11
    Dernier message: 31/10/2007, 09h28
  5. Connexion via Socket JAVA
    Par jihene dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 08/06/2006, 18h50

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