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

Dotnet Discussion :

Téléchargement d'un fichier sur un HTTPS


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Par défaut Téléchargement d'un fichier sur un HTTPS
    Hello à tous,

    Je viens vers vous car je me retrouve confronté à un petit soucis, depuis mon application j'aimerais bien télécharger un fichier zip sur un site avec un lien https.

    Après quelques rehcerches google j'ai vu qu'avec webclient c'était apparemment possible et j'ai donc suivis ce qu'il est indiqué sur la doc en ligne en utilisant la méthode DownloadFile.

    Seulement lorsque je tente de télécharger le fichier (je suis certain que le lien passé est correct, tester directement depuis un navigateur) je me retrouve avec une WebException The underlying connection was closed: An unexpected error occurred on a send.

    Après d'autres recherches sur Google j'ai trouver que le problème venait apparemment du fait que j'essaye d'accèder à une page https et non pas http et que pour accéder à une https je devais rajouter en plus la ligne fichier.Credentials = CredentialCache.DefaultNetworkCredentials;. Sauf que le problème reste exactement le même., du coup je suis un peu paumé sur la comment faire.

    Si vous pouviez m'aiguiller ça serait sympa

    Mon code actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    			string url = "https://www.inami.fgov.be/webprd/appl/pDownloadCenter/download/";
    			string endroitDL = @"C:\Users\yves\Desktop\inami";
    			string nomFichier = "ProductionXML-Base-Full-2016-07-01.zip";
     
     
    			WebClient fichier = new WebClient();
     
    			fichier.Credentials = CredentialCache.DefaultNetworkCredentials;
    			fichier.DownloadFile(new Uri(url + nomFichier), Path.Combine(endroitDL, nomFichier));

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Bizarre ton code fonctionne correctement ! Il m'a fallu 4 min 10 pour telecharger le fichier (depuis les US - Cote Ouest), mais il est bien la et n'est pas corrompu.

    Es-tu derriere un proxy ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Par défaut
    Hello,

    Effectivement je suis derrière un proxy. Y'a un moyen de contourner ça ou non ? Sinon je laisse tomber et je mettrai un lien cliquable qui redirige vers la page de téléchargement.

    PS : désolé pour le délais de la réponse, pas eu le temps :s

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Oui bien sur il est possible de configurer l'utilisation d'un proxy en utilisant la classe WebProxy. Sans authentification :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var client = new WebClient
    {
        Proxy = new WebProxy("URL/IP de ton serveur ici")
    };
    Si tu as besoin de t'identifier :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var client = new WebClient
    {
        Proxy = new WebProxy
        {
            Address = new Uri("URL/IP de ton serveur ici"),
            Credentials = new NetworkCredential("nom dutilisateur", "mot de passe"),
            UseDefaultCredentials = false,
            BypassProxyOnLocal = false    // Utilise le proxy meme pour des URL locales, a voir si tu en as besoin ou non
        }
    };
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Par défaut
    Effectivement ainsi c'est tout de suite plus simple !

    Merci de l'aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Téléchargement d'un fichier sur le poste client
    Par Général03 dans le forum Langage
    Réponses: 5
    Dernier message: 03/11/2009, 23h34
  2. [AC-2003] ADO ConnectionString vers fichier sur site HTTPS
    Par Oliv- dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/11/2009, 15h43
  3. script pour automatiser upload fichier sur site https
    Par ludo_93 dans le forum VBScript
    Réponses: 0
    Dernier message: 03/10/2008, 11h24
  4. récupérer fichiers sur serveur HTTP
    Par aoshi85 dans le forum Web
    Réponses: 1
    Dernier message: 04/07/2008, 22h10

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