时间:2021-05-28
恰巧发现有个叫“EarthLiveSharp”,可用将日本向日葵8号卫星的地球实时图片设为屏保。向日葵8号卫星的地球实时图片官网为:http://himawari8.nict.go.jp/,EarthLiveSharp的项目地址是:https://github.com/bitdust/EarthLiveSharp。
为了减轻向日葵8号的服务器负担,同时也是提高地球实时图片的获取成功率,需要使用cloudinary来做CDN。注册配置都在软件里有说明。
目前EarthLiveSharp暂时没有清理cloudinary的CDN图片缓存的功能,于是我用python写了一个,并尝试用gist管理,地址为:https://gist.github.com/creke/c5a8a18fa41b8f5c1a0719a7e0cf4de6
同时,为了大家方便,顺便编译成了Windows可执行文件,下载: https://pan.baidu.com/s/1c27fXEo 提取码:k33n
为了自己检索方便,顺便在这里附上python脚本源码,可以作为python如何使用RESTful接口的例子,相关工具类函数也便于参考。
EarthLiveCleanCloudinary.py
# -*- coding: utf-8 -*-# Author: Creke# HomePage: http://blog.creke.netimport sysimport urllib, urllib2import base64import jsonURLLIB_DEBUG_LEVEL = 1URLLIB_TIMEOUT = 5def Dict2Uri(dic): return urllib.urlencode(dic)def GenUrllibReq(url, method, api_key, api_secret, post_data=None): urlreq = None if post_data is None: urlreq = urllib2.Request(url) else: urlreq = urllib2.Request(url, post_data) urlreq.get_method = lambda: method auth_str = base64.b64encode('%s:%s' % (api_key, api_secret)) urlreq.add_header("Authorization", "Basic %s" % auth_str) urlreq.add_header('Cache-Control', 'no-cache') return urlreqdef GetApiDelUrl(cloud_name, img_type): url = "https://api.cloudinary.com/v1_1/%s/resources/image/%s" % (cloud_name, img_type) params = {"prefix": "http://himawari8-dl"} url = url + "?" + Dict2Uri(params) return urldef main(argv): arg_idx = 1 api_key = argv[arg_idx] arg_idx += 1 api_secret = argv[arg_idx] arg_idx += 1 cloud_name = argv[arg_idx] while True: del_url = GetApiDelUrl(cloud_name, 'fetch') urlreq = GenUrllibReq(del_url, 'DELETE', api_key, api_secret) print "===========================" print "Requesting %s" % (del_url) opener = urllib2.build_opener(urllib2.HTTPSHandler(debuglevel=URLLIB_DEBUG_LEVEL)) urllib_open = opener.open(urlreq, timeout=URLLIB_TIMEOUT) response = urllib_open.read() print "===========================" print "Response:" print "%s" % (response) print "===========================" urllib_open.close() print "Done Requesting" res_json = json.loads(response) deleted_cnt = len(res_json['deleted']) print "Deleted %u himawari8 pics" % (deleted_cnt) print "===========================" if 'next_cursor' in res_json and deleted_cnt>0: print "Due to Cloudinary limits, we're starting a new round" else: break return 0def PrintHelp(argv): print "\t USAGE: %s [api_key] [api_secret] [cloud_name]" % (argv[0])if __name__ == '__main__': if len(sys.argv) < 4: PrintHelp(sys.argv) exit(1) print "RUNNING main" main(sys.argv) print "DONE main"EarthLiveCleanCloudinary2exe.py
# -*- coding: utf-8 -*-# Author: Creke# HomePage: http://blog.creke.netfrom distutils.core import setupimport py2exesetup(console=['EarthLiveCleanCloudinary.py'])Windows编译版本下载:
链接: https://pan.baidu.com/s/1skADZeH 密码: rdgb
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言:之前使用官方的nginxproxy_cache作为CDN静态缓存发现该模块清理缓存是一个大问题,只能一条一条url的清除,为此写了一个批量清除缓存的脚本主
微信清理缓存的话,会把聊天的文字、图片、文件都清除掉,所以有的用户就问不让微信自动清理缓存要怎么设置。按理来说,一般是不会自动清除的,小编也从来没有遇到自动
今天更改了一个线上的css文件,由于项目部署了cdn,需要对缓存进行清理。有两种方式;一、清除cdn缓存二、更改页面引入文件地址,如加入版本号第一种方式需要登录
清理微信缓存聊天图片会清除吗?小编在使用微信的时候经常会感到卡,可能是内存不够,就会想着要清理微信缓存,但不明白的是清理微信缓存聊天图片会清除吗,如果跟小编
此脚本是在张宴的缓存清理脚本上做了修改的,主要是增加if选项,并根据$1参数类型来选择性的列出缓存文件所在地址(因为$1并不固定,有时是特定的jpg类型,有时是