Bonjour,
J'utilise les comosants NetHTTPClient et NetHTTPRequest pour accéder à différents sites web.
Certains nécessitent une authentification via un formulaire, qui ne me pose pas de problème
Par exemple, pour le site 1, le formulaire est du type:
mon code qui fonctionne parfaitement a la forme suivante:
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 <form name="login" id="login" action="https://www.lesite1.com//login" method="post"> <table><tr><td>Connexion : </td> <td> <input type="hidden" name="urlRedirection" id="urlRedirection" value="https://www.lesite1.com/"> <div id="login"> <label for="login-field" class="label">E-mail</label> <input id="login-field" type="text" name="login" title="E-mail" value="" > </div> <div id="password"> <label for="password-field" class="label">Mot de passe</label> <input id="password-field" type="password" name="password" title="Mot de passe" value="" > </div> </td> <td> <div id="submit"> <input type="submit" name="submit" value="Ok" tabindex="3" > <div> </div> </td></tr> </table> </form>
en revanche, pour un autre site, les propriétés "name" des input contiennent des crochets
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 begin dummy:=tstringList.Create; dummy.AddPair('urlRedirection','https://www.lesite1.com') ; dummy.AddPair('login','XXXXXX'); dummy.AddPair('password','YYYYY') ; response:= NetHTTPREquest1.post('https://www.lesite1.com/login',dummy); buffer:=response.ContentAsString; end;
et là, mon code semble ne plus fonctionner.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <div class="form-field identifier"> <input type="text" id="connection_login" name="connection[login]" required="required" placeholder="Identifiant" class="form-control white" /> </div> <div class="form-field password"> <input type="password" id="connection_password" name="connection[password]" required="required" placeholder="Mot de passe" class="form-control white" /> </div>
J'ai essayé
puis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 dummy.AddPair('connection[login]','XXXXXX') ; dummy.AddPair('connection[password]','YYYYYY');
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 dummy.AddPair('connection_login','XXXXXX') ; dummy.AddPair('connection_password','YYYYYY');
mais sans succès. Est-ce qu'il y a une mise en forme particulière à faire?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 dummy.AddPair('login','XXXXXX') ; dummy.AddPair(password','YYYYYY');
Partager