使用coffeescript定时任务下载服务器xml和plist文件解析为json
来源:互联网 发布:路由器访客网络限制 编辑:程序博客网 时间:2024/05/17 05:52
使用coffeescript定时每隔一个小时从服务器上下载xml和plist文件,存到本地并解析为json文件。
###* 每隔一个小时从服务器下载最新的xml和plist并解析为json###fs = require('fs')url = require('url')http = require('http')plist = require('plist')schedule = require('node-schedule')parseString = require('xml2js').parseStringinitConfig = ()->initXMLConfig()initPlistConfig()#下载xml并解析为Json文件initXMLConfig = () ->file_url = "https://服务器地址/config.xml"filepath = "./config.xml"jsonFilepath = "./config.json"rule = new schedule.RecurrenceRule()#每小时的第0分钟第1秒执行rule.second = 1rule.minute = 0rule.hour = [0..23]schedule.scheduleJob(rule, ()->options = {host: url.parse(file_url).host,port: 80,path: url.parse(file_url).pathname}http.get(options, (res)->if res.statusCode is 200file = fs.createWriteStream(filepath)res.on("data", (data)->file.write(data)).on("end", ()->file.end()file.on('finish', ()->console.log(file_url + " downloaded success!")xml = fs.readFileSync(filepath, 'utf-8')if xmlparseString(xml, {explicitArray: false, ignoreAttrs: true, trim: true}, (err, result) ->if not errfs.writeFileSync(jsonFilepath, JSON.stringify(result), 'utf-8')console.log("write to json success:#{jsonFilepath}"))))elseconsole.log("access " + file_url + " is error, statusCode is #{res.statusCode}")))#下载plist文件使用plist模块解析为jsoninitPlistConfig = () ->file_url = "https://服务器地址/config.plist"filepath = "./config.plist"jsonFilepath = "./config1.json"rule = new schedule.RecurrenceRule()#每小时的第0分钟第10秒执行rule.second = 10rule.minute = 0rule.hour = [0..23]schedule.scheduleJob(rule, ()->options = {host: url.parse(file_url).host,port: 80,path: url.parse(file_url).pathname}http.get(options, (res)->if res.statusCode is 200file = fs.createWriteStream(filepath)res.on('data', (data)->file.write(data)).on('end', ()->file.end()file.on('finish', ()->console.log(file_url + " downloaded success!")xml = fs.readFileSync(filepath, 'utf-8')if xmlresult = plist.parse(xml)fs.writeFileSync(jsonFilepath, JSON.stringify(result), 'utf-8')console.log("write to json success:#{jsonFilepath}")))elseconsole.log("access " + file_url + " is error, statusCode is #{res.statusCode}")))exports.initConfig = initConfig
0 0
- 使用coffeescript定时任务下载服务器xml和plist文件解析为json
- plist解析和JSON序列化与反序列化(JSON解析),XML解析
- 抓包解析xml文件为json
- 【iOS】Plist-XML-JSON数据解析
- 【iOS】Plist-XML-JSON数据解析
- iOS的Plist-XML-JSON数据解析
- XML解析和JSON文件解析
- 使用dom4j解析XML为JSON
- 定时任务xml文件配置
- 服务器定时任务vbs文件
- 定时任务,定时下载FTP指定文件
- android解析服务器传来的xml文件和json文件(一)
- linux定时任务创建和ftp下载文件
- JSON解析详解(JSONKit、苹果自带解析)和PList文件的反序列化
- 使用脚本和定时任务自动备份管理服务器
- XML,JSON文件解析
- Android开发之下载Tomcat服务器的xml文件并使用SAX解析
- 从服务器下载&&OTA升级&&JSON文件解析
- netty入门demo
- druid之监控设置及问题小记
- MySQL备份与恢复
- 如何在tomcat下配置二级域名
- MediaCodec|文档翻译 结合图示来理解
- 使用coffeescript定时任务下载服务器xml和plist文件解析为json
- hadoop2.5.2学习06--MapReduce原理及操作
- Git学习之路(3)-提交文件到三个区
- 51单片机的IO口驱动能力、灌电流、拉电流、上拉电阻的选择
- 转换黑白的加载控件
- TCP协议总结
- Android中Socket和Http的比较
- Fiddler操作具体实践
- JavaScript小红书读书笔记