0

私はインターネットを通じていくつかの広告を投稿し、すべてのアカウント (メールボックスなど) をチェックするための cURL テクニックを学びました。

問題は、一部の Web サイトでスクリプトが機能することです。Cookie が作成され、テキストが取得されます。

しかし、これは接続されていません!Cookie を開くと、「false」とマークされ、取得されたテキストはオフライン バージョンです。知りたいのですが、この種の Web サイトに接続するためにアーカイブするにはどうすればよいですか?

私のコード:

 <?php
 //connexion via page de login
 $username="xxxx";
 $password="passxxxx";
 $url="http://www.garder-mes-enfants.fr/";
 $cookie="cookie.txt";

 $postdata = "username=".$username."&passwd=".$password;
 $ch = curl_init();
 curl_setopt ($ch, CURLOPT_URL, $url . "index.php?option=com_user&amp;Itemid=305&amp;lang=fr");
 curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
 curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
 curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
 curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
 curl_setopt ($ch, CURLOPT_REFERER, $url . "index.php");
 curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
 curl_setopt ($ch, CURLOPT_POST, 1);
 $result = curl_exec ($ch);
 //fin de connexion, on ne ferme pas la curl en cour pour l'utiliser après

 //récupération du code source de la page dans un fichier texte pour traiter les informations via php
 curl_setopt($ch, CURLOPT_URL, $url."nounou/SURESNES/115043-assistante-maternelle-agreee-cherche-3-petits-bouts-de-chou.html");
 curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
 curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
 curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
 curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
 curl_setopt ($ch, CURLOPT_REFERER, $url . "S-identifier.html");
 $ret = curl_exec($ch);
 if ($ret === FALSE) {
     die(curl_error());
 }
 $nom_local="test.txt";
  curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
         curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
         if ($nom_local) {
             $fp = fopen($nom_local, 'w') or die("Le fichier '$nom_local' n'a pu être ouvert en écriture");
             curl_setopt($ch, CURLOPT_FILE, $fp);
         } else {
             curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
         }
         $ret = curl_exec($ch);
         if ($nom_local) {
             fclose($fp);
         }
         curl_close($ch);
         if ($ret === FALSE) {
             die("Une erreur a été rencontrée : " . curl_error());
         }
 echo $ret;
4

0 に答える 0