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 :

HttpWebRequest POST et GET


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 2
    Points
    2
    Par défaut HttpWebRequest POST et GET
    Bonjour/ bonsoir à tous,

    Tout d'abord je tiens à m'excuser du code que vous allez voir puisque je débute avec les requêtes web et au final il en résulte plus de la bidouille que du code d'expert !

    Mon but est de me connecter automatiquement à un site via ma console puis de télécharger une source sur l'espace client en string pour ensuite l'afficher dans ma console et l'exploiter, donc j'utilises d'abord la méthode POST puis ensuite la méthode GET.
    Le problème est que j'ai l'impression que ma connexion ne se fait pas, en effet la seul source qui se télécharge est un document.location.replace qui me ramène vers l'index.
    Je tiens aussi à préciser que la connexion se fait par des comptes que j'ai stockés dans un fichier texte et que la source sera téléchargée une fois pour chaque compte (puisqu'elle contient certaines infos différentes pour chacun).

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
                foreach (String line in File.ReadAllLines("account.txt"))
                {
                    if (!line.StartsWith("Credentials"))
                    {
                        continue;
                    }
     
                    string[] credentials = line.Replace("Credentials: ", "").Split(',');
     
                    String username = credentials[0];
                    String password = credentials[1];
     
                    Console.WriteLine(password);
     
                    var request = (HttpWebRequest)WebRequest.Create("http://bobbalive.fr/index.php?do=process_login");
     
                    var postData = "username=" + username;
                    postData += "&password=" + password;
                    var data = Encoding.UTF8.GetBytes(postData);
     
                    request.Method = "POST";
                    //request.ContentType = "application/x-www-form-urlencoded";
                    request.ContentLength = data.Length;
                    request.UserAgent = "Foo";
                    request.Accept = "text/html";
     
                    using (var stream = request.GetRequestStream())
                    {
                        stream.Write(data, 0, data.Length);
                    }
     
                    var response = (HttpWebResponse)request.GetResponse();
                    var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
     
     
                    using (var client = new SSOClient())
                    {
                        HttpWebRequest request2 = (HttpWebRequest)WebRequest.Create("http://bobbalive.fr/client.php");
                        request2.Method = "GET";
                        request2.UserAgent = "Foo";
                        request2.Accept = "text/html";
     
     
                        string clientSource;
                        using (StreamReader reader = new StreamReader(request2.GetResponse().GetResponseStream()))
                        {
                            clientSource = reader.ReadToEnd();
                        }
     
     
                        foreach (string source in clientSource.Split(Environment.NewLine.ToCharArray()))
                        {
                            Console.WriteLine(source);
     
     
                        }
                    }
                }
    Merci par avance de votre aide !
    Ps : (si vous voulez essayer par vous même de vous connecter avec un compte sur le site, voici un compte de test : Credentials: Compte1,okok45)

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 169
    Points
    169
    Par défaut
    Salut,

    J'ai pas testé ton code mais là tout de suite je dirais tes données de POST sont mal-formattées : en effet, avec l'exemple que tu donnes, on obtiendrait la chaine suivante : username=Comtpe1password=okok45
    Il manque un ; ou quelque chose comme ça (la flemme de chercher )

    Sinon, sympa la dédicace de nicossssss dans le header défilant

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Jaco67 Voir le message
    Salut,

    J'ai pas testé ton code mais là tout de suite je dirais tes données de POST sont mal-formattées : en effet, avec l'exemple que tu donnes, on obtiendrait la chaine suivante : username=Comtpe1password=okok45
    Il manque un ; ou quelque chose comme ça (la flemme de chercher )

    Sinon, sympa la dédicace de nicossssss dans le header défilant
    Re et merci de ta réponse si rapide ! Pour ce qui est des dédicasses de nicosssss très sympa en effet, je n'y avais même pas prêté attention

    Sinon pour ce qui est de mon problème j'ai en effet oublié de mettre un "&" devant le "password=" mais même une fois rajouté le soucis est le même, la connexion ne se fait toujours pas !
    D'autres idées ? Parce que moi j'en suis à cours !

    Merci d'avance, Shinzuh
    Ps : j'ai édité le code pour rajouter le fameux "&" sur mon premier post.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Salut, des nouvelles ? De mon côté j'ai essayé d'autres méthodes et cela ne fonctionne toujours pas..
    Je peux pas me permettre de passer par le web-navigator, l'application deviendrait trop lente pour l'usage que j'ai envie de lui donner.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Salut, je suis toujours coincé ! J'ai retenté avec le webclient mais celui-ci me renvoie une erreur 403 vu que j'envoie pas les infos demandées dans le header tel que le user agent etc.

Discussions similaires

  1. Différence entre POST et GET
    Par BizuR dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/09/2009, 01h48
  2. Optimiser les requetes POST et GET
    Par localhost dans le forum Langage
    Réponses: 3
    Dernier message: 02/04/2006, 02h53
  3. Réponses: 22
    Dernier message: 17/03/2006, 21h42
  4. [HTTPS] Problème de Post et Get avec Apache et SSL
    Par bartrik dans le forum Apache
    Réponses: 5
    Dernier message: 17/09/2004, 08h37
  5. POST vs GET
    Par EvilAngel dans le forum ASP
    Réponses: 2
    Dernier message: 02/06/2004, 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