没找到问题原因,再怎么debug也是白费

事情的经过

事情的经过是这样的:每天早上我都需要在开机后通过网页向某个服务器请求最新的信息,并基于返回的信息,继续后续的动作。但之前获取信息的过程全部是手动的,非常的麻烦。

自动化尝试

之前我一直想尝试写一个脚本,自动化完成这个步骤。碍于技术水平,最先考虑的是用 selenium 自动完成操作,但这个网站加入了机器人识别,始终无法通过这一步验证,无法继续后续的获取。后来又想到使用基于图像识别的 pyautogui,虽然勉强完成了,但是动作繁琐笨重,总感觉不优雅。

技术启发与实现

这两天受某个大厂的大佬分享的技术文章启发,其中提到通过使用浏览器的 cookie 构建了 api,写脚本发送请求并获取信息。于是今天动手尝试实现。

经过多次尝试,分析浏览器的请求和返回的信息以及 cookie,最终使用 post 请求,在不用 cookie 的情况下(应该是服务器记录了我的浏览器 user-agent 及 ip 地址,从而识别为一个 session),使用几组不同的固定 payload 内容,成功获取到信息。这一环节算是走通了。

文件写入与软件配置

接下来就是将获取到的信息写入到本地文件。因为使用的是 Ubuntu 系统,对文件的访问又形成了一定的障碍,通过修改文件夹及文件的权限最终实现了对文件的写入。

但脚本运行成功后,始终无法正确写入,我反复检测了脚本中文件写入部分的细节,都没有发现问题,并且反复尝试将配置路径下的现有文件删除,更新,修改访问权限等待,都没有解决,后来,终于灵光一闪,找到了问题原因。原来,本地运行的一个软件,因为在文件修改之前已经运行了另外一个文件中的配置,脚本运行后,此文件已不存在了,但因为没有停用此配置,导致在使用新配置之前,必须有一个停用原配置的步骤,这就导致我获取信息后更新的文件始终无法被使用,走了近两个多小时的弯路,通过重新复制了一份文件并重命名为原配置名,并且在软件中将此文件停用,软件才能够使用新的配置。

总结与启发

总结,有些技术方案真的是一眼就能看懂,但是看懂是看懂,能实现是另外一回事,这里面涉及到方方面面的细节,如果你不自己亲手去尝试,永远不会知道这里面有多少个小坑。所以看懂和会做真的完全是两回事。

另外,没有找到问题的根本原因,在其他方面做的任何debug尝试都是徒劳的。

最后一个启发,是一定要将自己的视角和触角延伸到更宽更广,这样才能知道实现同样一个效果,可能有哪些技术方法,然后模仿学习变为自己的技术。说到底还是自己太菜了,要持续努力。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值