Hello Hello,
Je voudrais poster envoyer un POST auromatiquement en utilsant PHP/ Curl.
Le probleme est que dans le formulaire se trouve une cle cachee (variable hidden) qui est automatiquement generee et donc change a chaque fois.
Je peux facilement recupere la cle mais le probleme c'est que je ne sais pas comment reutiliser le meme formulaire sans recharger la page, et donc la cle change.
Mon code:
Ici je recupere la page:
ensuite je bidouille pour recupere la cle sur $contenu avec une expression reguliere ou meme un explode. Je cale tous mes variable de champs dans postfield.
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 $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_URL, $url_connexion); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9'); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_MAXREDIRS, 10); curl_setopt($ch, CURLOPT_COOKIESESSION, 0); curl_setopt($ch, CURLOPT_COOKIEJAR, $url_cookie); curl_setopt($ch, CURLOPT_COOKIEFILE, $url_cookie); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $contenu = curl_exec($ch);
et je veux poster enfin le formulaire.. (Mais bien sur, HIC, ca recherge un nouveau formulaire et la cle change):
Merci pour votre aide. D'habitude je recherche toujours ma reponse sur le forum ou le net, mais la.. le sujet a apparement ete rarement traite..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9'); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_MAXREDIRS, 10); curl_setopt($ch, CURLOPT_COOKIESESSION, 0); curl_setopt($ch, CURLOPT_COOKIEJAR, $url_cookie); curl_setopt($ch, CURLOPT_COOKIEFILE, $url_cookie); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch,CURLOPT_PUT,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields_log); $contenu = curl_exec($ch);
A+,
Pierre
Partager