BTW:代码都是网上找来自己修改的,仅用于自己做记录,请轻喷~谢谢。(那个,这些代码很乱,后来我把他分块写在另外一个类里面就好多了,需要的同学

先说些废话,终于有了一份工作,是做运维,虽然和自己以前当程序员的目标有点距离,但是既然做一个工作就要把它做好,运维也不好做啊。公司分配的工作是监控几十台小型电脑的运行情况,给了一个WEB后台,后台有很多选项,可以查看小型机的状态,因为机器刚刚上线运行,很不稳定所以要不时就去网页上刷新,这点一下那里点一下,确定下线机器的IP,虽然后台都能直接显示出来但是我还是觉得麻烦,索性自己写一个。

首先要解决的问题就是登录的问题,其实可以每次请求都带上登录帐号和密码,但是由于是小公司,我需要的程序每几秒就要请求一次,我怕服务器受不了到时候来找我,所以我想只使用一次账户名和密码登录之后然后每次在请求页面的时候带一个COOKIES这样就能保持会话了- -至少我是这么想的,也不知道对不对,百度了一下发现jsoup好用,这是一个html的解析器,可以网上找来导入就行了。里面提供了保持会话状态等等一系列的方法,所以拿来用了。

Connection.Response res = Jsoup.connect("http://example.html")
			    .data("username", "此处填登录帐号", "password", "登录密码")//
			    .method(Method.POST)
			    .execute();
final String sessionId = res.cookie("此处填写需要登录网站的session cookie的名字");
Timer mytime=new Timer();         /*因为我需要不断地请求页面所以我加了一个延时,每10s请求一次。网上随便找到就拿来用了,应该是线程的什么,要重复的代码要写在run里,还要抛出一个异常 */
<span style="white-space:pre">		</span>             mytime.schedule(new TimerTask()
<span style="white-space:pre">		</span>                               {
public void run()
<span style="white-space:pre">		</span>                                              {try {
<span style="white-space:pre">					</span>                                                 Document objectDoc = Jsoup.connect("http://example.html/example<span style="font-family: Arial, Helvetica, sans-serif;">")</span>
<span style="white-space:pre">			</span>                                 .cookie("此<span style="font-family: Arial, Helvetica, sans-serif;">处填写需要登录网站的session cookie的名字</span>", sessionId)
<span style="white-space:pre">						</span>         .get();
<span style="white-space:pre">				</span>                         .get();


<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal; background-color: rgb(255, 255, 255);"></span></span>                                                                                           } catch (IOException e) {e.printStackTrace();}
<span style="white-space:pre">		</span>                                                       } 
<span style="white-space:pre">		</span>                                },1000, 10000);

基本上就是这样了,然后objectdoc很容易转换成string类型,里面的网页的源码,然后使用正则呀什么的自己处理就行了,拿出自己想要的信息。

虽然写得很简陋我自己都看不下去,但是还是希望帮到一些同学,万一呢-,-