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 :

Télécharger depuis un HTTPS


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Economiste
    Inscrit en
    Avril 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Economiste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2019
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Télécharger depuis un HTTPS
    Bonsoir,

    J'essaie de télécharger un PDF sur une page protégée par le TLS 1.2. Cette page demande forcément des identifiants (que je connais), mais je ne suis pas sûr de la manière dont mon code doit être fait, pour l'instant j'ai ceci :

    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
    using System;
    using System.Net;
    namespace SaveFile
    {
        public class Program
        {
            public static void Main()
            {
                string uri = "https://lesite.fr/fichier.pdf";
                string savePath = @"C:\Users\mycomputer\Desktop\fichier.pdf";
                string userName = "username";
                string password = "password";
     
                using (System.Net.WebClient wc = new System.Net.WebClient())
                {
                    System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12;
                    wc.Proxy = WebRequest.DefaultWebProxy;
                    wc.Credentials = new NetworkCredential(userName, password);
                    wc.DownloadFile(uri, savePath);
                }
            }
        }
    }
    Le pdf se crée sur mon bureau mais un message me dit que le pdf ne peut pas être ouvert. J'ai remarqué que ce massage s'affiche aussi lorsque la source du fichier est erronée. Le lien est correct, les identifiants aussi, je pense que le soucie vient de mon code vis à vis du protocole.

    Merci pour votre aide.

  2. #2
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Si le fichier est créé, il y a peu de chance que le problème vienne du protocole. Je t'invite plutôt à ouvrir le fichier PDF avec un éditeur de texte. Je pense qu'il contient du HTML, avec soit une mire de connexion, soit une erreur. Cela te permettra d'avancer.

    Car la manière dont tu passes les identifiants, c'est lorsqu'ils sont demandés au niveau protocolaire (HTTP), pas lorsque c'est la page qui propose un formulaire.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  3. #3
    Membre à l'essai
    Homme Profil pro
    Economiste
    Inscrit en
    Avril 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Economiste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2019
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Salut François,

    J'ai bien du HTML mais par contre je ne sais pas du tout comment l'interpréter pour résoudre le problème :

    Code HTML : 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
    26
    <header>
    		<link rel="stylesheet" type="text/css" href="style.css">
    		<link rel="stylesheet" type="text/css" href="bootstrap.css">
     
    		<!-- Global site tag (gtag.js) - Google Analytics -->
    		<script async src="https://www.googletagmanager.com/gtag/js?id=UA-73600425-2"></script>
    		<script>
                      window.dataLayer = window.dataLayer || [];
                      function gtag(){dataLayer.push(arguments);}
                      gtag('js', new Date());
     
                      gtag('config', 'UA-73600425-2');
                    </script>
     
    </header>		<form method="post" action="login.php">
    		<div class="auth">
    						<br><br><br>
    			<span id="titre">Consultation du service conducteurs</span>
    			<br><br><br>
    						<input type="email" name="login-name" id="login" placeholder="Entrez l'adresse email de votre centre">
    			<br><br>
    			<input type="password" name="password" id="login" placeholder="Entrez le mot de passe">
    			<br><br><br>
    			<button type="submit" name="btn-login" id="login">Se connecter</button>
    		</div>
    		</form>

  4. #4
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    Ouvrir le fichier avec un navigateur Web aide beaucoup !

    Ici, on voit qu'un login et un mot de passe sont demandés. Il faut donc simuler l'envoi d'un formulaire pour s'identifier, puis seulement télécharger la ressource.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  5. #5
    Membre à l'essai
    Homme Profil pro
    Economiste
    Inscrit en
    Avril 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Economiste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2019
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Désolé de ne répondre que maintenant. J'ai passé plusieurs jours à chercher, j'ai l'habitude de présenter l'évolution de mon code mais là je bloque complètement. En fait comment simuler l'envoi d'un formulaire ?

    Merci pour vos réponses.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Economiste
    Inscrit en
    Avril 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Economiste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2019
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Je travail toujours sur ce code, bien qu'il y en aient d'autres en parallèle. J'ai pu trouvé une page qui traite le sujet : https://stackoverflow.com/questions/...st-web-request
    A voir ce que je peux arriver à faire avec ceci. Si quelqu'un trouve la solution je suis preneur, et si bien sûr je la trouve d'ici là je ne manque pas de vous la partager

  7. #7
    Membre à l'essai
    Homme Profil pro
    Economiste
    Inscrit en
    Avril 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Economiste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2019
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    J'ai pu améliorer mon code :

    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
    26
    using System;
    using System.Net;
    using System.Text;
    using System.Collections.Specialized;
     
    namespace DemoApplication
    {
        public class Program
        {
            public static void Main()
            {
                using (var client = new WebClient())
                {
                    var data = new NameValueCollection();
                    data["username"] = "username";
                    data["password"] = "password";
                    string url = "https://lesite.fr/fichier.pdf";
     
                    var response = client.UploadValues(url, "POST", data);
                    string responseInString = Encoding.UTF8.GetString(response);
                    string savePath = @"C:\Users\mycomputer\Desktop\fichier.pdf";
                    client.DownloadFile(url, savePath);
                }
            }
        }
    }
    Seulement il est toujours impossible de lire le pdf. Suis-je sur la bonne voie ? Et qu'est ce que je dois modifier pour que ça marche ?

    Merci pour vos réponses.

Discussions similaires

  1. Télécharger fichier par HTTP
    Par sliderman dans le forum Langage
    Réponses: 2
    Dernier message: 09/04/2008, 15h44
  2. Pb de flux depuis requete http
    Par lenoil dans le forum ASP.NET
    Réponses: 1
    Dernier message: 23/08/2007, 16h01
  3. télécharger depuis windows des paquets .deb
    Par jonathan1 dans le forum Applications et environnements graphiques
    Réponses: 17
    Dernier message: 14/04/2007, 16h20
  4. [InputStream][http] télécharger depuis un serveur web
    Par FFF dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 08/11/2005, 12h32

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