par

Comment faire pour se connecter à un site internet qui dispose d'un espace membre via un script PHP. Je voudrais que mon script puisse remplir automatiquement le formulaire de connexion, et accéder au contenu de la page membre, merci.

1 Réponse

+1 validé
par

Pour qu'un script PHP remplisse automatiquement un formulaire de connexion et accède à la page protégée par ce formulaire, vous pouvez utiliser la librairie Curl.

Voici les différentes étapes que vous devez accomplir avec PHP et Curl :

  • Spécifier l'URL de la page de connexion, et celle qui est protégée.
  • Définir un User Agent.
  • Lister les arguments de connexion.
  • Gérer les notions de SSL, temps maximum de connexion et redirections.
  • Soumettre le formulaire de connexion.
  • Récupérer les cookies et les sessions.
  • Accéder au contenu de la page protégée.

Avant toute chose vous devez inspecter le code source HTML du formulaire de connexion pour identifier tous les arguments qui sont passés en GET ou POST par le formulaire.

Généralement il y a trois arguments : celui de l'identifiant de connexion, celui du mot de passe, et celui qui correspond au bouton d'envoi.

Ensuite vous devez utiliser Curl et ses différentes options pour accomplir les différentes étapes listées ci-avant.

Voici exemple de script pour se connecter à un site internet avec PHP et Curl, puis accéder au contenu de la page protégée :

<?php
$script = curl_init();
curl_setopt($script, CURLOPT_URL, 'https://www.exemple.fr/connexion.php');
curl_setopt($script, CURLOPT_USERAGENT,'Mozilla/5.0 (X11; Linux x86_64)');
curl_setopt($script, CURLOPT_POST, true);
curl_setopt($script, CURLOPT_POSTFIELDS, "login=login&user_name=identifiant&user_pass=mot_de_passe");
curl_setopt($script, CURLOPT_RETURNTRANSFER, true);
curl_setopt($script, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($script, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($script, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($script, CURLOPT_TIMEOUT, 120);
curl_setopt($script, CURLOPT_MAXREDIRS, 10);
curl_setopt($script, CURLOPT_COOKIESESSION, true);
curl_setopt($script, CURLOPT_COOKIEJAR, ''.dirname(__FILE__).'/cookie.txt');
curl_setopt($script, CURLOPT_COOKIEFILE, ''.dirname(__FILE__).'/cookie.txt');
$connexion = curl_exec($script);
if (curl_error($script)) {
    echo curl_error($script);
}
else
{
curl_setopt($script, CURLOPT_URL, 'https://www.exemple.fr/membres.php');
curl_setopt($script, CURLOPT_POST, false);
curl_setopt($script, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($script, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($script, CURLOPT_POSTFIELDS, "");
$contenu = curl_exec($script);
if (curl_error($script)) {
echo curl_error($script);
}
else
{
echo $contenu;
}
}
?>

Lectures Informatique Recommandées

meilleurs livres informatique

Suggéré par Google

Offre Sponsorisée

Ailleurs sur le Web

Merci pour votre visite sur 1FORMATIK.com

Un petit clic sur la pub est toujours apprécié, c'est elle qui finance le site

Bon surf

...