Skip to content

Instantly share code, notes, and snippets.

@davidqhr
Last active August 17, 2016 04:39
Show Gist options
  • Save davidqhr/905dfa67331a18a0d9a1412f56ded49b to your computer and use it in GitHub Desktop.
Save davidqhr/905dfa67331a18a0d9a1412f56ded49b to your computer and use it in GitHub Desktop.
又拍云 刷新缓存
require 'uri'
require 'net/http'
require 'digest'
def refresh_upyun_cache urls
raw_password = 'xxx'
bucket = 'xxx'
operator = 'xxx'
date = Time.now.gmtime.strftime("%a, %d %b %Y %T GMT")
password = Digest::MD5.hexdigest(raw_password)
str_1 = urls.join("\n")
str_2 = [str_1, bucket, date, password].join('&')
sign = Digest::MD5.hexdigest(str_2)
uri = URI('http://purge.upyun.com/purge/')
req = Net::HTTP::Post.new(uri)
req.set_form_data({ purge: urls.join("\n") })
req['Authorization'] = "UpYun #{bucket}:#{operator}:#{sign}"
req['Date'] = date
res = Net::HTTP.start(uri.hostname, uri.port) { |http| http.request(req) }
res
end
urls = [
"http://xxx.com",
"http://xxx.com/appcache/manifest.html",
"http://xxx.com/appcache/manifest.appcache"
]
refresh_upyun_cache urls
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment