虎泰克博客

PHP模拟登录武汉理工大学教务处并获取课程信息


<?php $curl = curl_init(); $heade

<?php
	$curl = curl_init();
	$header = array(
        	'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
		'Connection:keep-alive',
		'Cookie:',
		'Host:sso.jwc.whut.edu.cn',
		'Referer:http://sso.jwc.whut.edu.cn/Certification/toIndex.do',
		'User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36'
	);
	$request = 'systemId=&xmlmsg=&userName='.$_GET['sno'].'&password='.$_GET['pwd'].'&type=xs&imageField.x=6&imageField.y=10';//POST请求
	curl_setopt($curl, CURLOPT_URL,'http://sso.jwc.whut.edu.cn/Certification/login.do');
	curl_setopt($curl, CURLOPT_POST, 1);
	curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
	curl_setopt($curl, CURLOPT_POSTFIELDS, $request);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($curl, CURLOPT_HEADER, false);
	$content = curl_exec($curl);
	curl_close($curl);
	$content = str_replace('&nbsp;', '', $content);//获取页面源代码
	$preg = "/<span class=\"font2\">(.*)<\/span>/i";
	$preg1 = "/<td align=\"center\">(.*)<\/td>/i";
	$preg2 = "/<td>(.*)<\/td>/i";
	preg_match_all($preg, $content, $arr);
	preg_match_all($preg1, $content, $p);
	preg_match_all($preg2, $content, $v);
	for($i=0;$i<count($v[1]);$i+=7){//生成课程信息
		$class[] = array(
		    'name'=>$v[1][$i],
		    'teacher'=>$v[1][$i+1],
		    'time'=>$v[1][$i+2],
		    'room'=>$v[1][$i+3],
		    'type'=>$v[1][$i+4],
		    'point'=>$p[1][$i/7]
		);
	}
	$data['info'] = array('name'=>$arr[1][0],'phone'=>$arr[1][1]);
	$data['class'] = $class;
	$this->ajaxReturn($data);
?>

当然,上面的例子只能获取到最简单的课程信息,成绩啊什么的需要跳转子系统,这个写法还没来得及研究。

虎xcwwu泰kxyd_克qkhs_新ez闻r_c网vt版权所有,请勿未授权转载!!!




声明:凡本网转载的文/图等稿件,均出于传递更多信息及方便探讨之目的,并不意味着本站及主办、承办单位赞同其观点或证实其内容的真实性,文章内容仅供参考,如果侵犯了原作者的权利请与网站管理员联系。

登录以发表评论

评论列表

    暂无数据