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

 Delphi Discussion :

Formulaire web idhttp post valdation


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 35
    Points : 10
    Points
    10
    Par défaut Formulaire web idhttp post valdation
    Bonjour,
    Je voudrais valider un formulaire sur le site www.paris-turf.com. J'ai un champ username, 1 champ password et 1 champ caché csrf_token.
    J'ai mis le 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
    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
    60
    Response := TStringStream.Create;
     
    Form1.Memo3.Text:= system.UTF8ToAnsi (idhttp1.get ('http://www.paris-turf.com/compte/login'));
     
    for I := 0 to Form1.Memo3.lines.Count - 1 do
       begin
     
      If (pos ('_csrf_token',Form1.Memo3.lines[i]) >0) and (pos ('hidden', Form1.Memo3.Lines[i]) >0) then
        login3:= Form1.Memo3.lines[i];
     
       end;
     
       longlogin3:= length (login3);
       vallogin3:= '';
     
       for i:= 0 to longlogin3-1 do
        begin
          if (pos ('u', login3[i]) and pos ('e', login3[i+1]) and pos ('=', login3[i+2]) and pos ('"', login3[i+3])) >0 then
           begin
             j:= i+4;
             while pos ('"', login3[j]) = 0 do
              begin
               vallogin3:= vallogin3 + login3[j];
               j:= j+1;
              end;
           end;
        end;
     
    poststring:=TStringList.Create;
     
    IdHTTP1.CookieManager:= idCookieManager1;
     
     IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
     
    poststring.Add('_username=xxxxxx'); 
    poststring.Add('_password=xxxxxxxx'); 
    poststring.Add('_csrf_token='+ vallogin3);
     
     
    h:= 0;
     
    Repeat
      try
       IdHTTP1.Post('http://www.paris-turf.com/compte/login_check',poststring, response);
      connex:= true;
         break;
        except
         begin
          h:= h + 1;
          connex:= false;
         end;
        end;
      Until h = 10;
     
     
       ShowMessage(idhttp1.responsetext);
     
     
    poststring.Free;
    response.Free;
    Mais ça ne marche pas. J'ai l'erreur 500 en retour.
    Que me manque t-il ?
    D'avance merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 667
    Points : 5 235
    Points
    5 235
    Par défaut
    Bonjour,
    L'erreur 500 est le code pour "Erreur interne du serveur".
    Cela signifie que ce n'est pas forcément ton code qui est en cause.

    Quelle est la différence avec cet autre post dont tu es également à l'origine ?
    https://www.developpez.net/forums/d1...e-idhttp-post/

    Cette page peut éventuellement t'aider si c'est un problème d'encodage
    http://stackoverflow.com/questions/1...ers-with-utf-8

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 35
    Points : 10
    Points
    10
    Par défaut
    C'st bon, merci.
    J'avais oublié ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    idHTTP1.HTTPOptions:=IdHTTP1.HTTPOptions+[hoTreat302Like303];
    Après, pour parser c'est un autre soucis : y a AJAX/javascript. Mais avec FIREFOX et Firebug je vais me débrouiller.

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

Discussions similaires

  1. pb soumission formulaire avec idhttp post
    Par Noddles dans le forum Web & réseau
    Réponses: 9
    Dernier message: 30/08/2013, 12h17
  2. Réponses: 0
    Dernier message: 05/01/2011, 12h22
  3. [urllib, urllib2] Probleme de post d'un formulaire web asp.net
    Par crimsonPhantom dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 28/09/2006, 15h39
  4. Problemes formulaires web
    Par mdma64 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/08/2005, 10h09
  5. Réponses: 3
    Dernier message: 15/09/2004, 15h01

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