From 289c02d912363d83d22a08f9a3e7298133b01023 Mon Sep 17 00:00:00 2001 From: liangchaoboy Date: Wed, 18 Oct 2017 14:17:59 +0800 Subject: [PATCH] timestamp_antileech --- .../cdn_create_timestamp_antileech_url.js | 20 +++++++++---------- qiniu/cdn.js | 10 ++++++++-- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/examples/cdn_create_timestamp_antileech_url.js b/examples/cdn_create_timestamp_antileech_url.js index 15e936bb..422f340e 100644 --- a/examples/cdn_create_timestamp_antileech_url.js +++ b/examples/cdn_create_timestamp_antileech_url.js @@ -1,16 +1,16 @@ -const qiniu = require("qiniu"); +const qiniu = require("/Users/smile/qiniu/qiniu-sdk/node/node_modules/qiniu"); -var domain = 'http://sg.xiaohongshu.com'; -var fileName = 'github.png'; +var domain = 'https://qiniu.com'; +var fileName = "xx"; //加密密钥 -var encryptKey = 'xxx'; -var query = { - 'name': 'qiniu', - 'location': 'shanghai' -}; +var encryptKey = '**'; +var query = null + var deadline = parseInt(Date.now() / 1000) + 3600; + var cdnManager = new qiniu.cdn.CdnManager(null); + var finalUrl = cdnManager.createTimestampAntiLeechUrl(domain, fileName, query, - encryptKey, - deadline); + encryptKey, deadline); + console.log(finalUrl); diff --git a/qiniu/cdn.js b/qiniu/cdn.js index 257f33eb..fcf36895 100644 --- a/qiniu/cdn.js +++ b/qiniu/cdn.js @@ -165,10 +165,10 @@ CdnManager.prototype.createTimestampAntiLeechUrl = function(domain, fileName, Object.getOwnPropertyNames(query).forEach(function(val, idx, array) { arr.push(val + "=" + encodeURIComponent(query[val])); }); - urlToSign = domain + '/' + encodeURI(fileName) + '?' + arr.join( + urlToSign = domain + '/' + url_encode(fileName) + '?' + arr.join( '&'); } else { - urlToSign = domain + '/' + encodeURI(fileName); + urlToSign = domain + '/' + url_encode(fileName); } var urlObj = url.parse(urlToSign); @@ -186,3 +186,9 @@ CdnManager.prototype.createTimestampAntiLeechUrl = function(domain, fileName, return urlToSign + '?sign=' + toSignStr + '&t=' + expireHex; } } + +function url_encode(url){ + url = encodeURI(url); + url = url.replace(/\'/g, "%27"); + return url; +}