站群服务器,域名注册网站排名,成都英文网站建设,上海建筑工程有限公司这个API是第三方API#xff0c;第三方API的工作原理大都基于此#xff0c;本文主要起一反三之作用#xff0c;代码的不处周之还望及时指出。开发环境#xff1a;WinServer2012 php7.0 Apache2.4.8思路#xff1a;向官方查询界面传递参数#xff0c;使用curl抓取结果网页…这个API是第三方API第三方API的工作原理大都基于此本文主要起一反三之作用代码的不处周之还望及时指出。开发环境WinServer2012 php7.0 Apache2.4.8思路向官方查询界面传递参数使用curl抓取结果网页分析网页取出关键数据将关键数据规则化后返回。基本思路抓取网址http://www.chsi.com.cn/cet/ 通过显式传参方式传递姓名学号等信息。关键代码curl会话初始化一个curl会话访问请求的网址(保存在变量$_url中)获取网页源代码后关闭会话其中第三行代码作用为伪造访问来路防止传参失败。运行成功后$contents内容为网页源代码若第四行代码参数为FALSE则直接将网页源码抓取后显示TRUE为不显示(此处不显示做数据分析用)。使用正则表达式抓取数据查询成功时页面会显示相应学校成绩个人信息等。查询失败时会显示姓名错误或者考号长度有问题等根据不同的关键字使用正则表达式抓取关键数据。正则表达式preg_match_all使用方法参数1正则表达式参数2目标字符串参数3匹配结果。将contents变量中的匹配结果保存在type变量中。每次匹配后检测type变量值以判断查询是否成功。以及决定各种状态的返回代码。错误码返回示例其余的错误码返回方式如下参数检测的错误码返回错误信息处理返回Json格式打包后的错误代码以及错误信息(字符串数组为对象格式)strip_tags($array); 去掉变量array中的HTML标签此处的作用为去掉正则表达式匹配后遗留下来的标签等trim($array); 去掉变量array两边的空白符使用strip_tags去掉正则表达式匹配结果中的html标签然后用trim去掉结果两边的空格最后将数组打包并转化为对象然后转化为Json格式后输出。$arr_return(object)array((object)array(0,success),(object)array(trim(strip_tags($type_1[0][0])),trim(strip_tags($type_1[0][1])),trim(strip_tags($type_1[0][2])),trim(strip_tags($type_1[0][4]))),(object)array(trim(strip_tags($type_2[0][1])),trim(strip_tags($type_2[0][2])),trim(strip_tags($type_2[0][3]))));打包格式如上使用二维数组第一维中放返回码及查询状态第二维中放返回的各种信息等。若查询失败则第一维中放返回码以及查询状态第二维为空。