[CURL] Champs pré-remplis

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [CURL] Champs pré-remplis

Re: [CURL] Champs pré-remplis

par Maskime » 26 mai 2011, 11:19

Hello,

Visiblement tu as une petite incompréhension sur le fonctionnement de cURL.
Il faut bien comprendre que CURL lui ne fait que faire des requêtes HTTP, il n'exécute pas de HTML et encore moins de javascript.
Donc pour la soumission d'un formulaire ce qu'il se passe c'est que tu appelles l'URL qui se trouve dans l'attribut "action" de ta balise <form> en lui passant les paramètres que ce script attends en suivant la méthode du formulaire (POST ou GET).

Donc à la question :
est-il est nécessaire de reposter les champs déjà remplis ?
La réponse est oui, car cURL ne connaît pas l'HTML et c'est bien à toi de renseigner les paramètres attendu par le script action.

Ensuite :
De plus, savez-vous comment on fait pour remplir les input dont les noms sont "name[]" ?
Ce que fait l'HTML ici c'est fabriquer un tableau à destination du script action. Donc dans ton script cURL il faut que tu fasses un tableau et que tu le rajoutes dans les paramètres passés au script action.

[CURL] Champs pré-remplis

par Pepsi33 » 26 mai 2011, 04:42

Bonsoir à tous,

j'aimerais avoir un éclaircissement concernant curl et la soumission de formulaire.

Tout d'abord, est-il est nécessaire de reposter les champs déjà remplis ?
Exemple : J'arrive sur une page où il y a un champ : <input name="toto" value="12345"/>
Est-ce que quand j'utilise CURL, je suis obligé de lui repassé cette variable ($postfields['toto'] = '12345'), ou bien ce n'est pas la peine ?

De plus, savez-vous comment on fait pour remplir les input dont les noms sont "name[]" ?
Par exemple, si j'ai :
<input name="var[]" id="var1"/>
<input name="var[]" id="var2"/>

J'ai tenté un $postfields['var'] = array('valeur1','valeur2'), mais ça ne marche pas.

Avez-vous une idée là dessus ?

Merci d'avance :)