手机版

PHP模拟登陆功能实例详解

时间:2021-08-20 来源:互联网 编辑:宝哥软件园 浏览:

本文实例讲述了服务器端编程语言(专业超文本预处理器的缩写)模拟登陆功能。分享给大家供大家参考,具体如下:

说明:该模拟登陆实例仅适用于没有验证码的模拟登陆实例

该程序基本功能是,模拟登陆高校图书馆网站,并获取读者信息和借书信息。

程序截图:

目录结构:

login.php

form method=' post ' class=' am-form ' action=' judge。=sid的“PHP”标签学号:/标签输入类型=' text ' name=' number ' id=' sid ' value=' br label for=' password '密码:/标签输入类型=' password ' name=' passwd ' id=' password ' value=' br div class=' am-cf '输入类型=' submit '名称value='登录' am-BTN am-BTN-小学am-BTN-sm am-fl '输入类型=' submit '名称value='忘记密码^_^?' am-BTN am-BTN-默认am-BTN-sm am-fr '/div/form judge。服务器端编程语言(Professional Hypertext Preprocessor的缩写)

session _ start();require _ once ' curl . PHP $ URL='http://opac.lib.ustc.edu.cn/reader/redr_info.php';$ number=$ _ POST[' number '];$ passwd=$ _ POST[' passwd '];$res=run_curl($url,$number,$ passwd);$ pattern='/TDSPan class=\ '蓝色文本\ '姓名:\/span(.*)\/TD/';preg_match($pattern,$res,$ arr 1);if(is _ array($ arr1)){ $ _ SESSION[' number ']=$ number;$ _ SESSION[' passwd ']=$ passwd;$ _ SESSION[' name ']=$ arr 1[1];“回声”脚本窗口。位置。href='索引。PHP ';/script ';} else { echo '脚本历史记录。go(-1);/script ';}curl.php

?PHP函数run _ curl($ content _ URL,$number=' ',$ passwd=' '){ $ cookie _ file=tempnam(' ./temp ',' cookie ');$ URL=' http://OPAC。lib。中国科大。edu。cn/reader/redr _ verify。PHP ';$ ch=curl _ init($ URL);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);$ post _ fileds=' number=$ number passwd=$ passwdselect=bar _ no ';curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$ post _ fileds);curl_setopt($ch,CURLOPT _ COOKIEFILE,$ COOKIE _ FILE);curl_setopt($ch,CURLOPT_COOKIEJAR,$ COOKIE _ file);$ content=curl _ exec($ ch);curl _ close($ ch);$ ch=curl _ init($ content _ URL);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);curl_setopt($ch,CURLOPT _ COOKIEFILE,$ COOKIE _ FILE);curl_setopt($ch,CURLOPT_COOKIEJAR,$ COOKIE _ file);$ RES=curl _ exec($ ch);curl _ close($ ch);返回$ res}index.php

?PHP session _ start();$ number=$ _ SESSION[' number '];$ passwd=$ _ SESSION[' passwd '];$ username=$ _ SESSION[' name '];if($ number==' ' | | $ passwd==' ' | | $ username==' '){ echo '脚本窗口。位置。href='登录。PHP ';/script ';exit();}需要一次‘curl.php’标题('内容类型:文本/html;charset=utf-8 ');$ URL=' http://OPAC。lib。中国科大。edu。cn/reader/book _ lst。PHP ';$res=run_curl($url,$number,$ passwd);//通过卷曲抓取数据$ pattern='/TD class='白色文本' width=' 35% ' a class=' blue ' href='(.*)' rel='external nofollow '(.*)\/a/';//正则匹配获得图书信息preg_match_all($pattern,$res,$ book _ arr);$ book list=array();$ book list=$ book _ arr[2];//借阅图书列表//var _ dump($ book list);$pattern='/font color=(红色|)(。*)\/font/';//正则匹配获得还书信息preg_match_all($pattern,$res,$ date _ arr);$ datelist=array();$ datelist=$ date _ arr[2];//应归还日期列表$ taglist=array();$ tag list=$ date _ arr[1];//标记是否超期//var _ dump($ date _ arr);logout.php

?PHP session _ start();$ _ SESSION=array();session _ destroy();脚本窗口。位置。href='登录。PHP '/脚本更多关于服务器端编程语言(专业超文本预处理器的缩写)相关内容感兴趣的读者可查看本站专题: 《php curl用法总结》 、 《PHP网络编程技巧总结》 、 《PHP数组(Array)操作技巧大全》 、 《php字符串(string)用法总结》 、 《PHP数据结构与算法教程》 及《PHP中json格式数据操作技巧汇总》

希望本文所述对大家服务器端编程语言(专业超文本预处理器的缩写)程序设计有所帮助。

版权声明:PHP模拟登陆功能实例详解是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。