- $url = '';//正方教務系統登入地址
- $ID = '';
- $PA = '';
- $cookieid = Get_SessionId($url);//擷取登入頁面的會話ID
- /*
- is_login()函數判斷是否登入成功
- */
- function is_login()
- {
- global $url,$ID,$PA,$cookieid;
- preg_match('#value="([^"]+)"#', curl_get($url), $vi);
- $p = '__VIEWSTATE=' . urlencode($vi[1]) . '&tbYHM=' . $ID . '&tbPSW=' . $PA . '&ddlSF=%D1%A7%C9%FA&imgDL.x=39&imgDL.y=13'; //預設學生
- $co = curl_get($url, $p, 0, 0, 0, array('Cookie: asp.net_SessionId=' . $cookieid));
- //curl_get('地址/xsleft.aspx?flag=grxx', array('Cookie: ASP.NET_SessionId=' . $cookieid)); //擷取基本資料以前必須訪問這個地址
- return strpos($co, "/xsmainfs.aspx?xh=" . $ID)? true : false ;
- } // bbs.it-home.org
- function curl_get($url, $add_arry_header = 0)
- {
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16'));
- if ($add_arry_header)
- {
- curl_setopt($ch, CURLOPT_HTTPHEADER, $add_arry_header);
- }
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- $get_url = curl_exec($ch);
- curl_close($ch);
- return $get_url;
- }
- function Get_SessionId($u) // 擷取aspx的會話ID
- {
- $a = get_headers($u);
- $a = str_replace(array(';', ':'), '&', $a[6]);
- parse_str($a, $aa);
- return $aa['ASP_NET_SessionId'] ;
- }
- ?>
複製代碼說明:代碼不完全可用,只是參考,記錄。正方教務系統的登入地址還有default4.aspx的精簡登入框,類比應該更簡單。 >>> 更多 php類比登入 文章,專題連結:php類比登入 php curl類比登入教程大全 |