研究了一段时间爬虫,了解到了用代码发起http请求的方法,想练练手。突然想起工作上遇到的一个难题,感觉非常适合。
问题是这样的:工作上维护的一个系统,有时候代码脚本有变更,需要通过一个前台页面进行刷新。但是因为服务器高可用的要求,总共部署了27个server,一次更新每个server都需要刷一遍,非常麻烦。刷新页面的url是这样的:http://ip:port/OpenEbus_srv/refreshScript.jsp
刷新完成后:
相当简单的页面,不同的server区别就在于ip和端口。之前研究了一下页面源码,想找一种方法能仿照这个页面的方法的请求后台刷新,但是研究了半天也没有思路。这次有了灵感,无论这个页面是通过什么方式请求的后台,不过都是http请求而已,而且带参数肯定是post,F12抓个包找到请求url和参数,用requests请求一下不就得了
抓包结果:
请求方法post,请求url是http://ip:port/OpenEbus_srv/refreshScript.jsp?filename=脚本名 ,请求data为bpmnServiceName:SINGLE,齐活儿了
开始写,发现一个尴尬的事情,单位的服务器上python没装requests,而且服务器不通外网,要搞很麻烦。那么就用urllib吧,多写两行代码而已:
成功!剩下的事就是写个脚本,把所有url加到一个list里循环就ok了,终于不用再一个一个页面的点了~
原文地址:http://blog.51cto.com/13904513/2153840
时间: 2024-10-20 03:27:43