java之自动化观看视频

本来是悠哉游哉的找工作中,结果被前公司拉回来支援了。话不多说,就说下这次项目的技术总结吧。

功能需求:
1.自动观看视频
2.千人在线
3.观看过程中使用代理IP

老实说刚刚开始想的时候还是没怎么有思路去写的,顶多是用户名的登录监测自认为还是可以的。

登录监测的实现方法:我使用的是htmlunit这个框架,大概的思路就是弄个浏览器内核在那里跑就完事了,模拟下用户的操作流程,至于验证码那个可以在网上搜下“打码”就有一大堆的开发接口给你调用,成本价也比较低。

如果是滑动验证,我会选择js不执行,跳过滑动验证,直接发送用户名,密码和验证码的方式模拟请求。

而这种方式去解决上面的观看视频的话,最多也就只能同时在线10个人以下。

原因:htmlunit是模拟浏览器的使用。也就是说页面里面的资源也都会请求多了,即使大部分的资源都用不上,比如图片,css,js包等等,大部分都不是我们需要的,而它都会等他们请求过来才可以进行下一步

解决办法:模拟浏览器请求。这个就比上面用到的技术更深层次了。如果说打比方的话,上面那个技术就相当于用户浏览网页,而这个技术就是程序员开发了。

模拟请求下来,一个请求下来也就只是占几k的内存。完全有条件实现千人在线,使用代理Ip的话,也就事先建个代理Ip池,采用循环调用或者随机调用就可以了

剩下的就是视频观看了,按F12查看观看视频时的发包过程,然后用程序模拟发包过程就可以了,切记,记得使用代理IP去发包。开发过程中就有一个被监测出来是模拟发包,幸亏是使用的代理IP,差点吓死我了。

注意:能力越大责任越大,切勿使用技术进行违法犯罪的事情

你可能感兴趣的:(web安全)