获取AppStore上架后的应用版本号

应用通过审核以后,由开发者设置应用上架,但何时能在appstore搜索到该应用,这个时间不等,有时候15分钟左右有时候2个多小时,以前就是隔一段时间打开网页然后刷新一下,或者搜索一下,查看版本号,操作几次后明显感觉很崩溃了…

既然只是想知道应用的版本号,只要抓取页面,然后获取页面的版本号信息,就知道是否更新过来了,然后通过公司内部的OA接口,发送一条消息,告知所有相关的人员版本号已经更新了…

我用node.js实现的,代码大约在30行左右,下面是实现…

这里我借助了request这个模块 npm install request (查看模块详情>>)

1: var request = require('request')

       2: var request = request.defaults({jar: true})

       3:  

       4: function getAppVersion() {

       5:     request.get("http://itunes.apple.com/cn/app/xxx/idxxxx?mt=8&t=" + new Date().getTime(), function(error, response, body) {

       6:         if (/\<li\><span class=\"label\">版本\: <\/span>([^<]+)\<\/li\>/.test(body)) {

       7:             var currVer = RegExp["$1"];

       8:             console.log("当前版本:" + currVer);            

       9:             if (currVer == "1.0.2") {

      10:                 return sendOANotification(currVer);

      11:             }                

      12:         }            

      13:         setTimeout(getAppVersion, 3 * 1000);

      14:     })

      15: }

      16:  

      17: function sendOANotification(currVer) {

      18:     request.post('http://oa.xxx.net/login.php', {form:{UNAME:"meteoric_cry", PASSWORD:"xxxx"}}, function(error, respose, body) {

      19:         if (/location=\"general\"\;/.test(body)) {

      20:             var uid_str = ["meteoric"].join(",");//需要添加多个人,只需要在数组里添加uid

      21:             var url = "http://oa.xxx.net/general/reservation/sendsmsapi.php?uid='"+uid_str+"'&cont='AppStore Version:"+currVer+"'";

      22:  

      23:             request.get(url, function(error, response, body) {

      24:                 //console.log(body)

      25:                 console.log("OA消息发送成功");

      26:             })

      27:         } else {

      28:             console.log("登录OA失败");        

      29:         }

      30:     })

      31: }

      32:  

      33: getAppVersion()

这个功能,如果想灵活一点,就让调用者传入参数:应用的下载地址、最新的版本号、刷新网页的频率、需要通知的人员列表。可以做成一个客户端应用(Exe程序),或者hta程序,或者其它任意不需要依赖其它人安装额外环境的程序

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

【Go 语言社区】js 向服务器请求数据的五种技术

Ajax,在它最基本的层面,是一种与服务器通讯而不重载当前页面的方法,数据可从服务器获得或发送给服务器。有多种不同的方法构造这种通讯通道,每种方法都有自己的优势...

516100
来自专栏小狼的世界

Silverlight学习笔记:资源的位置

    在 Web 项目中,我们免不了使用一些诸如图片、音频、视频、字体之类的在我们的程序中非可执行的数据文件,习惯称之为资源文件。在Silverlight中,...

7220
来自专栏小程序·云开发专栏

一次在微信小程序里跑 h5 页面的尝试

标题看起来有点唬人,在微信小程序里跑 h5 页面,不会又是说使用 web-view 组件来搞吧?确实,使用 web-view 组件可以达到跑 h5 页面的要求,...

2.3K20
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(二十六):xadmin的进阶开发

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

27620
来自专栏软件开发

Node.js开发Web后台服务

一、简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/...

1.5K90
来自专栏转载gongluck的CSDN博客

超级强大的vim配置(vimplus)

最近在重新配置Vim,也在GitHub上找了三个star和fork数目很高的方案,在这里分享给大家: https://github.com/amix/vimr...

8.5K90
来自专栏从零开始学自动化测试

Fiddler抓包9-保存会话(save)

前言 为什么要保存会话呢?举个很简单的场景,你在上海测试某个功能接口的时候,发现了一个BUG,而开发这个接口的开发人员是北京的一家合作公司。你这时候给对方开发提...

36450
来自专栏Django Scrapy

python3 下 Zabbix监控调用graph.get并且下载监控图

这个代码是如何访问三个不同机房并将传入的zabbix中的监控机器的ip进行判断(因为后来需要登陆网站,不同的机房名称不一样) 可以输入两个参数 只输入IP ...

57670
来自专栏机器学习和数学

[编程经验] Python中使用selenium进行动态爬虫

Hello,大家好!停更了这么久,中间发生了很多事情,我的心情也发生了很大的变化,看着每天在增长的粉丝,实在不想就这么放弃了,所以以后我会尽量保持在一周一篇的进...

19820
来自专栏大史住在大前端

javascript基础修炼(6)——前端路由的基本原理

现代前端开发中最流行的页面模型,莫过于SPA单页应用架构。单页面应用指的是应用只有一个主页面,通过动态替换DOM内容并同步修改url地址,来模拟多页应用的效果,...

17230

扫码关注云+社区

领取腾讯云代金券