济南网站建设,网站运营维护,网站优化
网站运营您当前的位置:智达维网络科技 > 网站运营 >

济南网站建设PC站移动阅读技术

更新时间:2018-04-11 09:17:14 作者:千寻建站 访问量:24

济南网站建设PC站移动阅读技术
济南网站建设PC站移动阅读技术
    该功能实现的具体流程为:首先通过自定义表单获取必填信息,即身份证号和姓名;然后与普通话水平测试成绩查询系统的官方网站的网址进行拼接;其次通过cURL函数抓取对应的HTML内容,利用PHP字符串函数提取读者感兴趣的内容;最后把提取出来的内容重构,并通过ajax技术、jQueryMobile框架在查询页面进行局部更新。
1 获取必填信息
    通过在IE浏览器地址栏中键入山西省普通话水平测试成绩查询系统官方网址“http://shanxi.cltt.org/Web/Login/PSCP01001.aspx”,然后在表单的“您的姓名”与“证书编号”相对应的文本框中填入自己的相关信息,点击“查询”按钮,可得到对应的查询信息。
    在表单提交的过程中,点击httpwatch的Stream选项卡,从HTTP请求消息的请求行“POST /Web/Login/PSCP01001.aspx HTTP/1.1”可以得到,表单提交方式为POST方式;并从本次请求消息可以得到,请求体内容为“__VIEWSTATE=%2FwEPDwUKMjExOTU2MjkwOQ9kFgICAw9kFgJmDw8WAh4EVGV4dAUo5LiK5Y2I5aW977yB5LuK5aSp5pivNeaciDMw5pelIOaYn%2Bacn%2BS4gGRkZA%3D%3D&txtStuID=&txtName=%E8%96%9B%E8%89%B3%E9%94%8B&txtIDCard=1423021984********&btnLogin=%E6%9F%A5++%E8%AF%A2&txtCertificateNO=&txtCardNO=”。点击httpwatch的POST Data选项卡,可以看到请求参数为7个(其中有效参数为4个)。通过与请求体内容比较,发现请求体内容为7个参数经过编码之后通过连字符号“&”连接而成的文本序列。而参数txtName的值为考生姓名经过编码之后的序列值;txtIDCard的值为考生证件号码(此处为身份证号)的值。通过同时修改姓名txtName、证件号码txtIDCard的值,可得到对应的普通话成绩信息。
2 关键内容提取
    设置PHP变量$url为山西省普通话水平测试成绩查询系统官方网址,$post_data为POST请求体内容,然后通过cURL模拟登录,具体代码如下:
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);
$output=curl_exec($ch);
curl_close($ch);
    通过上述函数运行,相应消息的HTML内容以字符串的形式赋值给PHP变量$output。依据PHP自带的强大字符串处理函数,可获得考生最感兴趣部分对应的HTML内容,在本文中选取的10个最感兴趣内容分别为:姓名、证件号、准考证号、考试时间、最终分、等级、证书编号、省份、测试站点和考生照片。同时,选中考生照片,右击选中复制图像地址,可得到图像地址为“htt p : / /shanxi.cltt.org/Web/common/GeneratePhotoByStuID.ashx?stuID=1403513100016”。
3 内容重构
    首先分别导入jQuery Mobile的CSS文件、jQuery的JS文件、jQuery Mobile的JS文件,目的是使内容在移动端的呈现方式更加人性化;其次通过ajax技术获取考生成绩信息,获取成功之后局部更新页面内容。代码如下:
<script>
function onSuccess(data,status) {
data=$.trim(data);$("#scoreDisplay").html(data);
}
function onError(data,status) {$("#notification").
text("error"); }
$(document).ready(function() {
$("#submit").click(function() {
var formData=$("#callAjaxForm").serialize();
$.ajax({ t y p e : " P O S T " , u r l : " c a l l a j a x .
php",cache:false,
data:formData,success:onSuccess,error:onError
});
return false;
});
});
</script>
    获取考生信息的表单代码如下,其中显示考生成绩的区域暂时显示内容为空,id为“notification”。当点击按钮获取考生信息成功时,它的内容会更新。
<div data-role="content" id="scoreDisplay">
<form id="callAjaxForm">
<div data-role="fieldcontain">
<label for="Name">姓名</label>
<i n p u t t y p e = " t e x t " n ame="Nam e "
id="Name" value="" />
<label for="ID">身份证号</label>
<input type="text" name="ID" id="ID"
value="" />
</div>
<h3 id="notification"></h3>
<button data-theme="b" id="submit"
type="submit">查询</button>
</form>
</div>
    生成考生成绩信息的过程为: 首先通过表单获取考生姓名与考生证件号码, 即$ t x t N a m e = $ _POST[Name];$txtIDCard=$_POST[ID];然后重构请求体内容,即$post_data="__VIEWSTATE=%2FwEPDwUKMjExOTU2MjkwOQ9kFgICAw9kFgJmDw8WAh4EVGV4dAUn5pma5LiK5aW977yB5LuK5aSp5pivMuaciDLml6Ug5pif5pyf5LqMZGRk&txtStuID=&txtName=" .$txtName . "&txtIDCard=" . $txtIDCard . "&btnLogin=%E6%9F%A5++%E8%AF%A2&txtCertificateNO=&txtCardNO=";最后重构照片地址,从照片地址“http://shanxi.cltt.org/Web/common/GeneratePhotoByStuID.ashx?stuID=1403513100016”可以看到,它是以GET方式请求照片的,请求参数为stuID,对应值为准考证号。假设获取的准考证号赋值给$stuID,即照片地址可重构为src="http://shanxi.cltt.org/Web/common/GeneratePhotoByStuID.ashx?stuID=".$stuID。

    文章说明:本站发布的所有文章,版权均属于智达维网络科技。如需转载、摘编或其它方式使用上述作品,请注明“转载自:智达维网络科技”,谢谢您的浏览!本站专注:网站运营网站建设
相关推荐

热线:0531-87583458 电话:0531-66812586 QQ:2676834962
Copyright 智达维网络科技 版权所有
ICP备案编号:鲁ICP备11034527号-1 鲁公网安备 37010402000703号

扫二维码加微信咨询

拨打客服热线

0531-87583458

在线客服