获取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程序,或者其它任意不需要依赖其它人安装额外环境的程序
获取AppStore上架后的应用版本号的更多相关文章
- 【hta版】获取AppStore上架后的应用版本号
之前写过一篇文章:获取AppStore上架后的应用版本号,那一篇文章使用node.js实现,存在的问题就是如果在没有安装node.js运行环境下是无法运行的,而且该程序依赖request模块,为了方便 ...
- ios appstore 上架应用被拒绝原因
ios appstore 上架应用被拒绝原因 应用程序崩溃 界面布局有明显错误挂羊头卖狗头的应用包括未公开的或隐藏功能的使用私有API应用程序读取或写入数据超出其指定的容器区域以任何方式下载代码的应用 ...
- SVN使用_获取某版本后改动的文件列表
本章将讲解如何通过svn命令获取某版本后改动的所有文件 一键操作,告别svn log的繁杂对比工作. 1:安装SVN命令行工具Subversion(不是TortoiseSVN) 下载Subversio ...
- IT连创业系列:说说苹果商店AppStore上架App应用前后遇到的那些神坑
前言: IT连创业的这个系列,又隔空了一个多月了. 不知道为什么,最近写文的冲动感下降了很多,如果不是因为特别忙,大概就因为上了年纪的原因了. 群里关注我创业的朋友,一直都在问,啥时候有新的文章讲述创 ...
- AppUtils【获取手机的信息和应用版本号、安装apk】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 一个获取设备的系统版本号.设备的型号.应用版本号code值.应用版本号name值.包名.是否更新.安装apk的工具类. 其实这个工具 ...
- 引用js或css后加?v= 版本号的用法
<span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v= 或 .css?version=与.js?version ...
- 获取元素计算后的css样式封装
获取元素计算后的css样式封装: function getCss(obj,attribute) { if(obj.currentStyle) { return obj.currentStyle[att ...
- 使用curl获取Location:重定向后url
在php获取http头部信息上,php有个自带的函数get_headers(),我以前也是用这个的,听说效率在win上不咋地,再加上最近研究百度url无果,写了cURL获取重定向url的php代码来折 ...
- C# 上传RAR文件 解压 获取解压后的文件名称
此方法适用于C盘windows文件夹中有WinRAR.exe文件 if (fileExt.ToUpper() == ".RAR") { string zpath = Server. ...
随机推荐
- vim 如何与外界粘贴复制
在学习使用vim 的过程序,我们知道在vim 里面,粘贴复制的命令是y/p ,但是我们总会碰到这样的问题:如何把vim 里面复制的内容粘贴到vim 之外或者把vim 外面复制的内容粘贴到vim 里面? ...
- Java编程的逻辑 (5) - 小数计算为什么会出错?
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- SQL Server 3
一.数据压缩 1.行压缩 行压缩可将固定长度类型存储为可变长度存储类型.例如,使用char(100)数据列存储字符串“SQL Server 2012”,压缩后只需要存放15个字符.(这种压缩模式,将对 ...
- 入门NodeJS
入门NodeJS https://www.cnblogs.com/dotnetcrazy/p/10118756.html NodeJS 1.环境配置 之前讲ES6的时候有提过一部分Node的知识,简单 ...
- Garph Coloring
题意:给了一个有 n 个点 m 条边的无向图,要求用黑.白两种色给图中顶点涂色,相邻的两个顶点不能涂成黑色,求最多能有多少顶点涂成黑色.图中最多有 100 个点 该题是求最大独立集团 最大团点的数量 ...
- 034 Spark Sql的入门介绍
一:进程介绍 1.use sql 2.shark 3.spark sql 4.终止shark 5.进程线 二:spark sql细节介绍 1.hive 与sparkSql比较(以后具体学习) 2.使用 ...
- Win7如何解决telnet不是内部或外部命令的方案!
https://jingyan.baidu.com/article/7908e85c6ec355af491ad265.html Telnet用于远程操作互联网中的设备或终端计算机服务器,可以有效的减少 ...
- oracle数据库连接错误解决办法
ORA-28547 连接服务器失败,可能是Oracle Net 管理错误 原文地址:http://www.linuxidc.com/Linux/2014-11/109686.htm 上周去给客户培训O ...
- 020.Zabbix的Actions配置
一 Action概述 当产生Trigger后,即当触发器条件被满足时,采取一些操作,如发送事件通知,远程执行命令等,需要配置Action. 名称 作用 Trigger 当Trigger的状态从OK ...
- html (第四本书第五章参考)
上机1 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8 ...