Remplir et valider un formulaire
Comment soumettre un formulaire automatiquement avec CURL et PHP ?
Utilisation de CURL pour simuler l'envoi de formulaire s'avère fort utile dans le cas d'automatisation de certaines tâches. Pour cela, 2 options :
- CURLOPT_POST pour indiquer à CURL qui nous voulons envoyer une requête de type POST
- CURLOPT_POSTFIELDS pour passer, sous forme de tableau PHP, la liste des champs et de leurs valeurs
Les champs à passer ici sont les champs correspondants au formulaire que l'on souhaite simuler. Les clés du tableau PHP passé à l'option CURLOPT_POSTFIELDS doivent donc correspondre aux attributs name="..." des différents éléments dudit formulaire.
<?php
$url = 'https://www.oseox.fr';
$timeout = 10;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
if (preg_match('`^https://`i', $url))
{
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
}
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Utilisation de la méthode POST
curl_setopt($ch, CURLOPT_POST, true);
// Définition des champs et valeurs à envoyer
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'email' => 'user@domain.tld'
));
$page_content = curl_exec($ch);
curl_close($ch);
echo $page_content;
?>


