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 :

Remplir un formulaire HTML [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Points : 17
    Points
    17
    Par défaut Remplir un formulaire HTML
    Bonjour à tous,

    J'ai écumé le web, forums & co et je me retourne maintenant vers vous car je sèche sur le problème (hautement technique suivant) : remplir un pauvre formulaire post login/password et soumettre en C#... Désolé du côté noobz de la question...

    Je tente de remplir le formulaire 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
    26
    27
    28
    29
    30
     
    <script type="text/javascript">
    <!--
    function process_form(the_form)
    {
    	var element_names = new Object()
    	element_names["req_username"] = "Nom d\'utilisateur"
    	element_names["req_password"] = "Mot de passe"
     
    	if (document.all || document.getElementById)
    	{
    		for (i = 0; i < the_form.length; ++i)
    		{
    			var elem = the_form.elements[i]
    			if (elem.name && elem.name.substring(0, 4) == "req_")
    			{
    				if (elem.type && (elem.type=="text" || elem.type=="textarea" || elem.type=="password" || elem.type=="file") && elem.value=='')
    				{
    					alert("\"" + element_names[elem.name] + "\" doit etre rempli")
    					elem.focus()
    					return false
    				}
    			}
    		}
    	}
     
    	return true
    }
    // -->
    </script>
    et
    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
     
    <form id="login" method="post" action="login.php?action=in" onsubmit="return process_form(this)">
    	<div class="inform">
    		<fieldset>
    			<legend>Saisissez votre nom d'utilisateur et votre mot de passe ci-dessous</legend>
    			<div class="infldset">
    				<input type="hidden" name="form_sent" value="1" />
    				<input type="hidden" name="redirect_url" value="index.php" />
    				<label class="conl"><strong>Nom d'utilisateur</strong><br /><input type="text" name="req_username" size="25" maxlength="25" tabindex="1" /><br /></label>
    				<label class="conl"><strong>Mot de passe</strong><br /><input type="password" name="req_password" size="16" maxlength="16" tabindex="2" /><br /></label>
    			</div>
    		</fieldset>
    	</div>
    	<p><input type="submit" name="login" value="Connexion" tabindex="3" /></p>
    </form>
    Quand j'examine la requête via les outils classiques, j'ai
    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
     
    POST /login.php?action=in HTTP/1.1
    Host: forum.monsite.org
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Encoding: gzip, deflate
    Accept-Language: fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
    Content-Type: application/x-www-form-urlencoded
    Origin: http://forum.monsite.org
    Referer: http://forum.monsite.org/login.php
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36
     
    HTTP/1.1 200 OK
    Cache-Control: post-check=0, pre-check=0
    Content-Encoding: gzip
    Content-Length: 1179
    Content-Type: text/html; charset=iso-8859-15
    Date: Wed, 26 Aug 2015 17:52:44 GMT
    Expires: Thu, 21 Jul 1977 07:30:00 GMT
    Last-Modified: Wed, 26 Aug 2015 17:52:44 GMT
    Pragma: no-cache
    Server: Apache/2.2.29
    Vary: Accept-Encoding
    Et enfin, j'ai le code (hyper classique, il me semble) suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var request = (HttpWebRequest)WebRequest.Create("http://forum.monsite.org/login.php?action=in");
    request.Method = "POST";
    request.ContentType = "application/x-www-form-urlencoded";
    byte[] bytes = Encoding.ASCII.GetBytes("req_username=xxxx&req_password=yyyy");
    request.ContentLength = bytes.Length;
    using (var reqStream = request.GetRequestStream())
    {
      reqStream.Write(bytes, 0, bytes.Length);
    }
    var response = (HttpWebResponse)request.GetResponse();
    J'ai aussi essayé la variante suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    using (var client = new WebClient ()) {
      client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
      var values = new NameValueCollection();
      values["form_sent"] = "1";
      values["redirect_url"] = "index.php";
      values["req_username"] = "xxxx";
      values["req_password"] = "yyyy";
      values["login"] = "Connexion";
     
      var response = client.UploadValues("http://forum.monsite.org/login.php", "POST", values);
    }
    J'ai ici rempli les champs hidden mais je ne sais pas si c'est important...

    Bref tout cela ne fonctionne pas et je sèche. J'imagine que c'est les headers qui sont foireux mais je ne sais pas trop quoi faire... Un petit coup de main serait vraiment le bienvenu!! Je vous remercie d'avance

  2. #2
    Membre habitué Avatar de maleaume
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 93
    Points : 131
    Points
    131
    Par défaut
    Regarde ceci:
    http://www.developpez.net/forums/d10...te-web-csharp/

    plus particulièrment la partie suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     var postData = string.Format(requeststring, username, MD5encoding(password));
    ca pourra peut être t 'aider!

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    Merci, je vais regarder et je vous dis

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    Cela fonctionne. Merci bcp de ton aide. Il semblerait que j'ai raté quelque chose sur les champs à envoyer...

    Bref, je clos le sujet.

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

Discussions similaires

  1. Remplir un formulaire HTML contenant plusieurs Submit
    Par mick605 dans le forum Web & réseau
    Réponses: 5
    Dernier message: 27/07/2011, 21h56
  2. Remplir un formulaire html (URL) via VB.NET
    Par tobib dans le forum VB.NET
    Réponses: 0
    Dernier message: 21/11/2010, 07h23
  3. Remplir formulaire HTML depuis une application C++
    Par danyboy85 dans le forum C++
    Réponses: 2
    Dernier message: 10/05/2006, 14h05
  4. remplir un formulaire html par delphi
    Par lassmust dans le forum Web & réseau
    Réponses: 6
    Dernier message: 24/04/2006, 20h25

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