短网址网站状态检测代码设计

首先对短网址网站中一些重要部分的实现方法进行了分析,并与其它方法进行比较,分析其利巧,并着重阐述了网站实时安全状态检测模块的实现。然后对短网址网站的运行结果进行了演示。

一、短网址网站安全状态远程检测模块的实现
网站安全状态检测模块包括网站当前服务状态、敏感字匹配等子功能实现。

短网址网站当前服务状态检测

二、短网址网站程序设计思路

通过Httpclient模拟浏览器进行登录,若返回值为200,则说明可以正常访问,否则根据用户的选择通过短信或者邮件的方式通知用户进行查询修改。Httpclient发送方式有GET和POST两种,由于这里检测的都是一些不需要太多参数的网页,因此两种发送方式皆可,在这里使用GET方式。

若可以访问,需要获取到访问时间。获取网页访时间有三种方式:

1、在发送请求之前设置定时器,结束时停止;

2、通过ping指令获取访问时间:

3、根据某种协议(因为获取网页信息使用的是http协议,因此在这里最好使用http协议)向服务器端多次发送信息,获取平均访问时间。

在这里使用Ping方式获取到访问时间,并将获取到的首页代码保存起来进行下一步操作。

三、短网址网站当前服务状态检测程序流程

根据上化设计思路,该程序核也流程如图,短网址网站服务状态程序流程图的核也是实例化httpclient,并获取到需要检测的网站URL,接着根据返回信息截取其中的返回码的值,并根据http协议的返回码来判断是否正常访问,若能正常访问,则进入爬虫模块的下载列队再交给其他功能模块进行后续处理,若不能正常访问,则首先给用户预警再将检测结果写入检测报表。
码人网mrw.so缩短网址文章图片


四、短网址网站关键程序代码

Httpclient模热浏览器进行访问具体代码如下;

Httpclient client = new DefaultHttpclient();

HttpG 巧 getHttp = new HttpGet(url);

HttpResponse response;

rsponse =client.execute(getHttp);

HttpEntity entity = response.getEntity();

int status = Iiiteger.parseInt((resporise.t:oString〇).Substring(9,12);

if(!ResponseIsOk(status))

return content;

VisitedUrlQueue vuq = new ^sitedUrlQueue〇;

vuq.addElem(url);

if(entity !=null){

content = EntityUtilsJoString(entity); }

die打 t.getConnectionManager().shutdown〇;

在用httpclient向服务器发送请求时,结果返回可能如下:

警告:Cookie rejected: "¥Version=0;

setSECU=0%7C3 812428%7C 1270195063%7C76%7CO%7CO%7CO%7CO%7CO%7CO%

7C0%7C0%7C0%7C0%7C0%7C0;化ath=/; ¥Domain二?*,*****.com". Domain attribute

II** ***** com" violates RFC 2109: domain must start with a dot。

这是由于httpclient请求默认需要传cookie的,要解决此问题需要设置一下cookie的policy,在程序里需添加postMethod.getParams〇.setParameter("http.prok)C〇Lcookie-policy",CookiePolicy.BROWSER-COMPAT 旧 ILITY)。

短网址网站敏感词检测模块实现

五、设计思路

在查询敏感词时有两种方法:

方法一:通过循环对所有的敏感词进行查询,然后记录;

方法二:在查询敏感词时,先将所有的敏感词查询出来生成敏感词对应的正则表达式,然后再进行査询。

方法一对html文档多次读取,相对于方法二效率比较低下,因此该系统使用方法二。

六、敏感词检测程序流程图


如图,首先通过爬虫抓取待检测页面源文件,再将短网址网页源码交给源码解析模块进行解析,之后通过敏感词检测模块对页面文字内容进行扫描并与预先建立好的敏感词库进行字符串匹配,从而判断页面内容是否含有敏感词。当发现含有敏感词后则通过短信或者邮件的方式报答并写入检测报表。用户在得到预警后,可以通过查询报表获取到敏感词出现的所在页面与位置。