php cUrl模擬登錄,cookie保存到文件中


源碼如下:

 1 <?php 
 2 header("Content-Type:text/html;charset=utf-8");
 3 //模擬群友通訊錄手機號登錄
 4 $curl = curl_init();
 5 $cookie_jar = tempnam('./tmp','cookie'); //tempnam--建立一個具有唯一文件名的文件
 6 curl_setopt($curl, CURLOPT_URL,'http://qun.hk/oauth/login');//這里寫上處理登錄的界面
 7 curl_setopt($curl, CURLOPT_POST, 1); //post提交數據
 8 $request = 'username=***&password=***';
 9 curl_setopt($curl, CURLOPT_POSTFIELDS, $request);//傳遞數據
10 curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);//把返回來的cookie信息保存在$cookie_jar文件中
11 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//設定返回的數據是否自動顯示
12 curl_setopt($curl, CURLOPT_HEADER, false);//設定是否顯示頭信息
13 curl_setopt($curl, CURLOPT_NOBODY, false);//設定是否輸出頁面內容
14 curl_exec($curl);//返回結果
15 curl_close($curl); //關閉*/
16 ?>

執行程序可把登錄獲取的cookie信息保存到文件中

以下是運用cookie文件的例子:

 1 <?php 
 2 header("Content-Type:text/html;charset=utf-8");
 3 $cookie_jar = dirname(__FILE__)."/tmp/coo4B58.tmp"; //保存的cookie信息文件路徑
 4 $url="http://qun.hk/index/view/code/0c248f6bfa13/page/3";
 5 $arr=curl_get($url,$cookie_jar);
 6 var_dump($arr);
 7 
 8 /**
 9  *curl post請求
10  */
11 function curl_post($url,$data,$cookie_jar){
12     $ch=curl_init();
13     curl_setopt($ch, CURLOPT_URL, $url);                
14     curl_setopt ( $ch, CURLOPT_POST, 1 );
15     curl_setopt ( $ch, CURLOPT_HEADER, 0 );
16     curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
17     curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
18     curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
19     $return = curl_exec ( $ch );
20     curl_close ( $ch );
21 }
22 
23 /**
24  *curl get請求
25  */
26 function curl_get($url,$cookie_jar){
27     $curl2 = curl_init();
28     curl_setopt($curl2, CURLOPT_URL, $url);//登陸后要從哪個頁面獲取信息
29     curl_setopt($curl2, CURLOPT_HEADER, false);
30     curl_setopt($curl2, CURLOPT_RETURNTRANSFER, 1);
31     curl_setopt($curl2, CURLOPT_COOKIEFILE, $cookie_jar);
32     $content = curl_exec($curl2);
33     $arr=json_decode($content,true);
34     curl_close($curl2);
35     return $arr;
36 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM