Heim >Backend-Entwicklung >PHP-Tutorial >php CURL模拟登录正方教务系统的例子

php CURL模拟登录正方教务系统的例子

WBOY
WBOYOriginal
2016-07-25 08:53:001120Durchsuche
  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模拟登录教程大全



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn