写代码自动操作,更给力!
这段时间没有写博客,思考了很多技术之外的东西,感觉有时候停一停思考一下生活还是不错的。
在日常生活中,我们借助计算机系统解决了许多问题,网页提供了这么一个处理界面,而这个界面上的某些操作是可以通过代码来执行的,这样我们就可以将这个过程全部交给计算机来处理了。本篇将会通过一个签到系统来说明。
假如,我们有一个签到系统,每天都需要登录系统,点击“签到”按钮来记录每天的考勤,当然拿这个过程来自动化仅仅只是个例子,现实生活中如果您这样做被领导发现,那就给力了…
系统的界面
登录:
登录后跳转到刷新页面:
点击刷新之后的效果:
这里我们想要利用代码进行刷新操作的话呢,需要经过登录,刷新两个步骤,这里我想到两个方案:
- 分析Login.aspx页面的HTML代码,在原HTML代码中加入JS脚本的方式来填写用户名密码并提交到服务器
- 通过Fiddler分析每次请求的数据内容,使用.Net中的HttpRequest相关类库模拟这个登录请求
第一种方法:我们需要获取要自动操作的页面HTML,然后进行一些改动
在页面HTML的最后我们使用脚本填写了用户名和密码,并点击了登录的按钮,这里有个关键,这个被篡改后的HTML怎么执行呢,我们只需要使用代码将这个HTML文件读取并解析一下即可,然后将获取到的Index.aspx页面HTML代码再以同样的方法解析即可。
第二种方法:在发送登录请求时,我们使用Fiddler截获了通信的数据
这里注意要在地址localhost后面加上一个.才能被Fiddler截获分析。当我们点击Login后
看看传递了什么数据吧
稍加分析便看到,回传的是_VIEWSTATE的字符串,我们知道ASPX的页面改变信息是通过这个隐藏的控件来回传给服务端分析的,好,那么我们只需要用代码来模拟这次请求即可:
这段代码是一个抽出来的方法,可以想指定的URL发送数据请求,我们来试试
经过断点调试我们截获了服务器返回的值
这就说明服务器接收到这个登录请求后,通过了验证,想客户端返回了Index.aspx的HTML代码。
我这里只是抛砖引玉,各位朋友如果有更好的办法,欢迎交流。
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 我在厂里搞 wine 的日子
· 如何通过向量化技术比较两段文本是否相似?
· 35+程序员的转型之路:经济寒冬中的希望与策略
· JavaScript中如何遍历对象?
· 领域模型应用
· 独立开发,这条路可行吗?
· C#源生成器:让你的代码飞起来的黑科技
· Java简历、面试、试用期、转正
· Java开发AI项目,太爽了!LangChain4j保姆级教程
· SpringBoot3 + LangChain4j + Redis 实现大模型多轮对话及工具调用