写程序小记10.17

这几天折腾一个度盘的下载程序。在一个现成程序的基础上添加我要的功能。主要的目的就是但愿实现利用晚上睡觉时间无人管理,自动批量下载。度盘昨天又有变化,赶忙花了几个小时改了程序,用两个selenium web driver实现了功能。javascript

还写了个辅助的油猴脚本,批量建立分享连接。这里要吐槽一下。尼玛百度把api的文档网页都删了,不知道调用须要的参数,只好查了些别人写的工具,找到一些,但还缺一个参数。最后从别人写的代码获得启发,用console.log(<js函数名>.toString())方式获得源码(虽然压缩过,可是好在没有混淆,可读性还不错),才找到了所需的参数名。vue

度盘对打包下载作了调整,原本简单的事变得复杂了许多,只好又写了点程序实现自动批量打包下载(每一个包的大小不能超过300M!)。java

还稍微修改了一下别人写的插件,以适应自动操做的须要。由此对油猴脚本的编写稍微增长了些经验。ios

油猴脚本里的值怎么传给win form是个问题,最后利用剪贴板实现了。剪贴板不是很可靠,但一时也没有更好的办法(后来发现本身又愚蠢了一回,用wcf轻松搞定,固然油猴里不能用$.ajax,要用GM_xmlhttpRequest以支持跨域请求)。这倒让我怀念起webBrowser控件里的window.external方式调用了,惋惜IE浏览器实在太不争气,无法用。web

如今还剩下的一个问题就是从vue.js里调用rest wcf服务死活不行,用vue resource没反应,用axios能传过去参数,可是没法获得返回值,老是出错,其余XMLHttpRequest, $.ajax等等都试了,都不行,惟一没有试的是一个javascript的wcf库。最后懒得弄了,用后台java的web api去调用wcf。另外就是在vue.js里取本地ip地址也没有调通,也懒得弄,一样在web api里解决了。js处理调用本地资源的操做应该是弱项,因此这样设计应该说也算合理。ajax

无人管理自动操做,难点在于稳定性。由于网络状况难料,访问网站可能超时,打不开,加载不全等各类各样难以预料的错误,程序里就须要较完善的异常处理机制,各类错误出现时都能自动重试,不崩溃,不停住,这样健壮性才比较好。axios

相关文章
相关标签/搜索