-
-
header("Content-type:text/html;charset=utf-8");
- $ cookie_file = dirname(__FILE__)."/cookie_".md5(basename(__FILE__)).".txt"; // 設定Cookie檔案保存路徑及檔案名稱
- function vlogin($url,$data){ //模擬登入取得Cookie函數
- $curl = curl_init(); // 啟動一個CURL會話
- curl_setopt($curl, CURLOPT_URL, $url); // 要存取的位址
- curl_setopt($curl, CURVPTcurl. , 0); // 對認證憑證來源的檢查
- curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 從憑證檢查SSL加密演算法是否存在
- curl_setopt($curl, CURLOPT_USERAGENT, $_USERA[' HTTP_USER_AGENT']); // 模擬使用者使用的瀏覽器
- curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳轉
- curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
- curl_setopt($curl, CURLOPT_POST, 1); // 發送一個常規的Post請求
- curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的封包
- curl_topt($ccurlse, CURLOPT_COOKIEJAR, $GLOBALS['cookie_file']); // 存放Cookie訊息的檔案名稱
- curl_setopt($curl, CURLOPT_COOKIEFILE, $GLOBALS['cookie_file']); // 讀取上面儲存的COOKIEFILE, $GLOBALS['cookie_file']); // 讀取上面所儲存的CookieM> > curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 設定超時限制防止死迴圈
- curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示傳回的Header區域內容
- curl_HEADER, 0); // 顯示傳回的Header區域內容
- curl_setopt($cUR, CUR3, CUR3, CURS, CURS, CURS, CUR3, CURS, CUR3, CUR3, CURS, CUR3, CURS, CUR3, CURS, CUR3, CURS, CUR3, CURA4UR3, CURA) 內容[ 1); // 取得的資訊以檔案流的形式傳回
- $tmpInfo = curl_exec($curl); // 執行操作
- if (curl_errno($curl)) {
- echo 'Errno'. curl_error($curl);
- }
- curl_close($curl); // 關閉CURL會話
- return $tmpInfo; // 回傳資料
- }
-
- function vget($url ){ // 模擬取得內容函數
- $curl = curl_init(); // 啟動一個CURL會話
- curl_setopt($curl, CURLOPT_URL, $url); // 要存取的位址
- curl_setopt($ curl, CURLOPT_SSL_VERIFYPEER, 0); // 對認證證書來源的檢查
- curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 從憑證檢查SSL加密演算法是否存在
- curl_urlstopt($c), Curl. _SERVER['HTTP_USER_AGENT']); // 模擬使用者所使用的瀏覽器
- curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳轉
- curl_setopt($curl, CURLOPT_AUEFER, ,自動設定Referer
- curl_setopt($curl, CURLOPT_HTTPGET, 1); // 傳送一個常規的Post請求
- curl_setopt($curl, CURLOPT_COOKIEFILE, $GLOBALS['cookie_file'] // 上面儲存的Cookie訊息
- curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 設定超時限制防止死迴圈
- curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示傳回的Header區域內容 $tmpInfo = curl_exec($curl); // 執行操作
- if (curl_errno($curl)) {
- echo 'Errno'.curl_error($curl);
- }
- curl_close($curl); // 關閉CURL會話
- return $tmpInfo; // 回傳資料
- }
-
- function vpost($url,$data){ // 模擬提交資料函數
- $curl = curl_init(); // 啟動一個CURL會話
- curl_setopt($curl, CURLOPT_URL, $url); // 要存取的位址
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 對認證憑證來源的檢查
- curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 從憑證中檢查憑證是否存在curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模擬使用者使用的瀏覽器
- curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳到url , CURLOPT_AUTOREFERER, 1); // 自動設定Referer
- curl_setopt($curl, CURLOPT_POST, 1); // 傳送一個常規的Post請求
- curl_setopt($curl, CURLOPT_POSTFIDS, $LOPT_的封包
- curl_setopt($curl, CURLOPT_COOKIEFILE, $GLOBALS['cookie_file']); // 讀取上面所儲存的Cookie資訊
- curl_setopt($curl, CURLOPT_TIMEOUT, 30);防止死迴圈
- curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示傳回的Header區域內容
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 取得的資訊以檔案流的形式傳回🎜 > $tmpInfo = curl_exec($curl); // 執行操作
- if (curl_errno($curl)) {
- echo 'Errno'.curl_error($curl);
- }
- curl_close($ curl); // 關鍵CURL會話
- return $tmpInfo; // 回傳資料
- }
function delcookie($cookie_file){ // 刪除Cookie函數
- @unlink ($cookie_file); // 執行刪除
- }
function readcookies( $file)
- {
- $result = null;
-
- $fp = fopen( $file, "r" );
- if($fp)
- {
- while ( !feof( $fp ) )
- {
- $buffer = fgets( $fp, 4096 );
- $result = $buffer; //$tmp = @split( "/t", $buffer );
- //$result[@trim( $tmp[5] )] = @trim( $tmp[6] );
- }
-
- fclose($fp);
- }
-
- return $result;
- }
- $url = 'http://w.mail.qq.com/ cgi-bin/loginpage?f=xhtml';
- if(!file_exists($cookie_file)) { // 偵測Cookie是否存在
- $str = vget($url); // 取得提交後台
- preg_match("/action="([^"]*?)"/isU",$str,$hash); // 提取登入隨機值
- print_r($hash[1]);
- vlogin( $hash[1],'&f=xhtml&uin=你的qq號&aliastype=@qq.com&pwd=qq號密碼&mss=1'); // 登入取得Cookie
}
- else
- {
- vget("http://w30.mail.qq.com/cgi-bin/today?sid=ggQq2H-cUHdDdHs0z6rT6vN8,4,z-yTNgDwU&first=1");}
- ?>
-
複製程式碼
>>> 更多關於php模擬登入的文章,請參考專題連結:php模擬登入php curl模擬登入教學大全
|