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

C# Discussion :

Récupérer les informations PROXY d'Internet Explorer pour faire du FTP


Sujet :

C#

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Récupérer les informations PROXY d'Internet Explorer pour faire du FTP
    Bonjour, j'ai une application Open Source qui doit télécharger des fichiers sur des sites FTP. Je souhaite fournir, dans le paramétrage, les trois possibilités bien connu :
    1- Pas de proxy
    2- Utiliser les informations d'Internet Explorer
    3- Utiliser ces informations : NomDuServeur, PortDuServeur, NomUtilisateur, MotDePasse.

    J'utilise le code suivant :
    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
     
    {
    FtpWebRequest ftpRequest = null;
    FtpWebResponse ftpResponse = null;
     
    try {
          ftpRequest = (FtpWebRequest)FtpWebRequest.Create(@"ftp://ftp.dell.com/catalog/DellSDPCatalogPC.cab");
     
          ftpRequest.Proxy = GetWebProxy();
     
          ftpRequest.UseBinary = true;
          ftpRequest.UsePassive = true;
          ftpRequest.KeepAlive = true;
          ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
          ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
          // Error 407 : Proxy Authentification Required.
        }
    }
     
    private System.Net.IWebProxy GetWebProxy()
        {
            System.Net.IWebProxy proxy = System.Net.WebRequest.GetSystemWebProxy();
            proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
            return proxy;
        }
    Cela me renvoi systématiquement une erreur 407:Authentification Proxy requise.
    Donc je suppose que le code n'arrive pas à récupérer les informations d'identification d'Internet Explorer pour le Proxy.
    A noter que le code pour la méthode GetWebProxy, fonctionne très bien pour des requêtes HTTP. dOnc pourquoi cela ne fonctionne pas pour du FTP ??

    Quelqu'un peut-il me dire comment récupérer les informations d'identification d'Internet Explorer pour passer le Proxy ?

    Merci.

  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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Malheureusement, à ma connaissance il n'est pas possible de récupérer les infos d'authentification du proxy utilisé par Internet Explorer. Je me suis déjà heurté au problème il y a quelques mois, et la solution a été de demander les identifiants à l'utilisateur. Tu peux faire ça au moment où il valide les options : tu fais une requête bidon avec ce proxy pour vérifier si ça marche, et si tu te prends un 407, tu demandes les infos à l'utilisateur.

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour, et merci pour ta réponse rapide, même si j'aurais préféré de meilleurs nouvelles
    Microsoft ne sait pas trop foulé sur ce coup là!
    J'ai commencé à réécrire mon code dans le sens que tu propose (supprimer l'option "Même paramètres qu'IE") et demander à l'utilisateur de renseigner les champs pour le proxy. Et maintenant je me rend compte qu'on ne peux pas :
    - Uploader en FTP à travers un proxy
    - Obtenir la date de création d'un fichier à travers d'un proxy

    Je ne sais pas si cela est dû à la fainéantise de Microsoft ou à des restrictions réseau ?
    Je vais tenter ma chance avec des librairies FTP open-source.

  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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par DCourtel Voir le message
    Microsoft ne sait pas trop foulé sur ce coup là!
    Bah à mon avis c'est pas une question de s'être pas trop foulé, je pense que c'est plutôt pour des raisons de sécurité...

    Citation Envoyé par DCourtel Voir le message
    J'ai commencé à réécrire mon code dans le sens que tu propose (supprimer l'option "Même paramètres qu'IE") et demander à l'utilisateur de renseigner les champs pour le proxy.
    Non, c'est pas tout à fait ça que je suggérais. Laisse l'option "mêmes paramètres qu'IE" (qui marchera si le proxy ne demande pas d'authentification), mais si tu te prends un 407, alors demande les identifiants (typiquement via une boite de dialogue séparée des options)

    Citation Envoyé par DCourtel Voir le message
    Et maintenant je me rend compte qu'on ne peux pas :
    - Uploader en FTP à travers un proxy
    - Obtenir la date de création d'un fichier à travers d'un proxy
    Tu parles de cette restriction ?
    If the specified proxy is an HTTP proxy, only the DownloadFile, ListDirectory, and ListDirectoryDetails commands are supported.
    Effectivement je ne sais pas trop pourquoi ce n'est pas supporté... le mécanisme est pourtant à peu près le même pour le download et l'upload (en tous cas ce qui est sûr c'est que ça ne peut marcher qu'en mode passif, vu que le serveur ne peut pas ouvrir une connexion vers le client à travers le proxy)
    Apparemment certaines lib FTP le font ; le client FTP de .NET est assez minimaliste, ça ne m'étonne pas tellement qu'il y ait des limitations...

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/03/2014, 10h00
  2. Réponses: 0
    Dernier message: 02/04/2011, 12h57
  3. Réponses: 1
    Dernier message: 27/09/2007, 19h05
  4. Pb avec Internet Explorer pour les menu déroulant en css
    Par gaet_045 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 07/06/2007, 08h31
  5. Comment récupérer les adresses WWW dans Internet Explorer ?
    Par chaours dans le forum Web & réseau
    Réponses: 7
    Dernier message: 03/09/2003, 14h27

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