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 :

Problème d'authentification dans un WebClient


Sujet :

C#

  1. #1
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 880
    Par défaut Problème d'authentification dans un WebClient
    Bonjour tout le monde,

    Pour savoir ce qui m'attend comme réponses ici, j'ai d'abord trouvé ça en C# :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                WebClient wc = new WebClient();
                wc.Credentials = new NetworkCredential(strUser, strPassword);
                String strCont = wc.DownloadString("https://www.developpez.net/forums/usercp.php");
    puis un peu sophistiqué la chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                string strUrl = "https://www.developpez.net/forums/usercp.php";
                WebClient client = new WebClient();
                string method = "POST"; // If your endpoint expects a GET then do it.
                NameValueCollection parameters = new NameValueCollection();
                parameters.Add("vb_login_username", vb_login_username);
                parameters.Add("vb_login_password", vb_login_password);
                var response_data = client.UploadValues(strUrl, method, parameters);
                var responseString = UnicodeEncoding.UTF8.GetString(response_data);
    Malheureusement, il semble que ça donne le contenu de la page pour un utilisateur anonyme, puisque ça n'inclut pas la division new_subscribed_threads.

    Contrairement à ce que m'affiche Firefox.

    Où est l'erreur ?
    Un peu trop synchrone, tout ça ?

  2. #2
    Expert confirmé

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

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

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    Généralement, ce n'est pas comme cela que l'authentification fonctionne. Il ne suffit pas d'envoyer login/mdp pour récupérer le contenu d'une page.

    Il faut, sur une page dédiée, envoyer login et mot de passe. En retour, on a un cookie qui sert de token d'authentification. Ensuite, sur les pages que l'on souhaite visiter, il faut transmettre ce cookie.

    Si le cookie n'est pas présent, et si le site est bien fait, la page renvoie vers le formulaire d'authentification, procède à l'authentification, puis redirige vers la page initialement demandée.

    En regardant vite fait les flux, l'authentification est envoyée vers la page https://www.developpez.net/forums/login.php?do=login. Donc, a priori, la première requête pour s'authentifier, c'est vers cette page là qu'il faut l'envoyer, et ensuite récupérer le cookie qui va bien.

    Dans un deuxième temps, faire une requête vers la page que tu souhaites (ici https://www.developpez.net/forums/usercp.php) en ajoutant le cookie qu'il faut (et en GET, pas en POST)

  3. #3
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 880
    Par défaut
    Rha, oui.
    Donc alors pas ce soir, car j'ai l'impression qu'il va falloir que je me réveille, avant
    C'est vrai que parmi les exemples de code il y en avait avec des cookies. C'est vrai aussi que j'en ai vu passer un ou deux, comme ci-dessus, qui m'avaient l'air plus simples ... Oui, bon.
    Une chose m'intrigue, c'est que d'après ce que tu dis, dans le retour, je devrais avoir un champ pour saisir un nom d'utilisateur, et un champ de mot de passe.
    Peut-être ai-je mal regardé, je ne me rappelle pas avoir vu ça.
    Peut-être aussi que l'affichage de la source n'est pas le moyen le plus fiable.

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/05/2014, 10h23
  2. Réponses: 7
    Dernier message: 05/10/2012, 09h56
  3. Problème d'authentification dans une JSP
    Par sihamnet dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 08/05/2012, 01h13
  4. problème d'authentification dans une application windows
    Par meryDev dans le forum Windows Forms
    Réponses: 4
    Dernier message: 15/07/2009, 17h05
  5. Réponses: 16
    Dernier message: 18/10/2006, 22h52

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