php CURL類比登入正方教務系統的例子

來源:互聯網
上載者:User
  1. $url = '';//正方教務系統登入地址
  2. $ID = '';
  3. $PA = '';
  4. $cookieid = Get_SessionId($url);//擷取登入頁面的會話ID
  5. /*
  6. is_login()函數判斷是否登入成功
  7. */
  8. function is_login()
  9. {
  10. global $url,$ID,$PA,$cookieid;
  11. preg_match('#value="([^"]+)"#', curl_get($url), $vi);
  12. $p = '__VIEWSTATE=' . urlencode($vi[1]) . '&tbYHM=' . $ID . '&tbPSW=' . $PA . '&ddlSF=%D1%A7%C9%FA&imgDL.x=39&imgDL.y=13'; //預設學生
  13. $co = curl_get($url, $p, 0, 0, 0, array('Cookie: asp.net_SessionId=' . $cookieid));
  14. //curl_get('地址/xsleft.aspx?flag=grxx', array('Cookie: ASP.NET_SessionId=' . $cookieid)); //擷取基本資料以前必須訪問這個地址
  15. return strpos($co, "/xsmainfs.aspx?xh=" . $ID)? true : false ;
  16. } // bbs.it-home.org
  17. function curl_get($url, $add_arry_header = 0)
  18. {
  19. $ch = curl_init($url);
  20. 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'));
  21. if ($add_arry_header)
  22. {
  23. curl_setopt($ch, CURLOPT_HTTPHEADER, $add_arry_header);
  24. }
  25. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  26. $get_url = curl_exec($ch);
  27. curl_close($ch);
  28. return $get_url;
  29. }
  30. function Get_SessionId($u) // 擷取aspx的會話ID
  31. {
  32. $a = get_headers($u);
  33. $a = str_replace(array(';', ':'), '&', $a[6]);
  34. parse_str($a, $aa);
  35. return $aa['ASP_NET_SessionId'] ;
  36. }
  37. ?>
複製代碼

說明:代碼不完全可用,只是參考,記錄。正方教務系統的登入地址還有default4.aspx的精簡登入框,類比應該更簡單。

>>> 更多 php類比登入 文章,專題連結:php類比登入 php curl類比登入教程大全

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.