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.