public async Task RefreshDirsTest() { string[] dirs = { $"http://{Domain}/images1/", $"http://{Domain}/images2/" }; var mac = new Mac(AccessKey, SecretKey); var manager = new CdnManager(mac); var ret = await manager.RefreshDirs(dirs); if (ret.Code != (int)HttpCode.OK) { Assert.True(false, ret.ToString()); } Console.WriteLine(ret.Result.Code); Console.WriteLine(ret.Result.Error); Console.WriteLine(ret.Result.DirQuotaDay); Console.WriteLine(ret.Result.DirSurplusDay); Console.WriteLine(ret.Result.RequestId); if (ret.Result.InvalidDirs != null) { foreach (var dir in ret.Result.InvalidDirs) { Console.WriteLine(dir); } } }
public void RefreshDirsTest() { string[] dirs = { string.Format("http://{0}/images1/", Domain), string.Format("http://{0}/images2/", Domain) }; Mac mac = new Mac(AccessKey, SecretKey); CdnManager manager = new CdnManager(mac); RefreshResult ret = manager.RefreshDirs(dirs); if (ret.Code != (int)HttpCode.OK) { Assert.Fail(ret.ToString()); } Console.WriteLine(ret.Result.Code); Console.WriteLine(ret.Result.Error); Console.WriteLine(ret.Result.DirQuotaDay); Console.WriteLine(ret.Result.DirSurplusDay); Console.WriteLine(ret.Result.RequestId); if (ret.Result.InvalidDirs != null) { foreach (string dir in ret.Result.InvalidDirs) { Console.WriteLine(dir); } } }
private Azure(RestClient restClient, string subscriptionId, string tenantId, IAuthenticated authenticated) { resourceManager = ResourceManager.Fluent.ResourceManager.Authenticate(restClient).WithSubscription(subscriptionId); storageManager = StorageManager.Authenticate(restClient, subscriptionId); computeManager = ComputeManager.Authenticate(restClient, subscriptionId); networkManager = NetworkManager.Authenticate(restClient, subscriptionId); batchManager = BatchManager.Authenticate(restClient, subscriptionId); keyVaultManager = KeyVaultManager.Authenticate(restClient, subscriptionId, tenantId); trafficManager = TrafficManager.Fluent.TrafficManager.Authenticate(restClient, subscriptionId); dnsZoneManager = DnsZoneManager.Authenticate(restClient, subscriptionId); sqlManager = SqlManager.Authenticate(restClient, subscriptionId); redisManager = RedisManager.Authenticate(restClient, subscriptionId); cdnManager = CdnManager.Authenticate(restClient, subscriptionId); appServiceManager = AppServiceManager.Authenticate(restClient, subscriptionId, tenantId); searchManager = SearchManager.Authenticate(restClient, subscriptionId); serviceBusManager = ServiceBusManager.Authenticate(restClient, subscriptionId); containerInstanceManager = ContainerInstanceManager.Authenticate(restClient, subscriptionId); registryManager = RegistryManager.Authenticate(restClient, subscriptionId); containerServiceManager = ContainerServiceManager.Authenticate(restClient, subscriptionId); cosmosDBManager = CosmosDBManager.Authenticate(restClient, subscriptionId); authorizationManager = AuthorizationManager.Authenticate(restClient, subscriptionId); msiManager = MsiManager.Authenticate(restClient, subscriptionId); batchAIManager = BatchAIManager.Authenticate(restClient, subscriptionId); monitorManager = MonitorManager.Authenticate(restClient, subscriptionId); eventHubManager = EventHubManager.Authenticate(restClient, subscriptionId); SubscriptionId = subscriptionId; this.authenticated = authenticated; }
public void RefreshUrlsTest() { string[] urls = { string.Format("http://{0}/images/1.png", Domain), string.Format("http://{0}/images/2.png", Domain) }; Mac mac = new Mac(AccessKey, SecretKey); CdnManager manager = new CdnManager(mac); RefreshResult ret = manager.RefreshUrls(urls); if (ret.Code != (int)HttpCode.OK) { Assert.Fail(ret.ToString()); } Console.WriteLine(ret.Result.Code); Console.WriteLine(ret.Result.Error); Console.WriteLine(ret.Result.UrlQuotaDay); Console.WriteLine(ret.Result.UrlSurplusDay); Console.WriteLine(ret.Result.RequestId); if (ret.Result.InvalidUrls != null) { foreach (string url in ret.Result.InvalidUrls) { Console.WriteLine(url); } } }
public static bool RefreshDirs(Mac mac, string[] urls) { CdnManager cdnMgr = new CdnManager(mac); var result = cdnMgr.RefreshDirs(urls); return(result.Code == 200); }
private static async Task UploadQiniuAsync() { var accessKey = Environment.GetEnvironmentVariable("ak"); var secretKey = Environment.GetEnvironmentVariable("sk"); if (string.IsNullOrEmpty(accessKey) || string.IsNullOrEmpty(secretKey)) { return; } var mac = new Mac(accessKey, secretKey); const string bucket = "langpack"; var putPolicy = new PutPolicy { Scope = bucket }; var key = "Minecraft-Mod-Language-Modpack.zip"; putPolicy.SetExpires(120); var token = Auth.CreateUploadToken(mac, putPolicy.ToJsonString()); var uploadManager = new UploadManager(new Config()); var result = await uploadManager.UploadFile(@"./Minecraft-Mod-Language-Modpack.zip", "Minecraft-Mod-Language-Modpack.zip", token, new PutExtra()); Trace.Assert(result.RefInfo["key"] == key); Trace.Assert(result.RefInfo["hash"] == ETag.CalcHash(@"./Minecraft-Mod-Language-Modpack.zip")); Console.WriteLine(result.Text); var cdnManager = new CdnManager(mac); var refreshResult = await cdnManager.RefreshUrls(new[] { "http://downloader.meitangdehulu.com/Minecraft-Mod-Language-Modpack.zip" }); Console.WriteLine(refreshResult.Result); }
public async Task RefreshUrlsTest() { string[] urls = { $"http://{Domain}/images/1.png", $"http://{Domain}/images/2.png" }; var mac = new Mac(AccessKey, SecretKey); var manager = new CdnManager(mac); var ret = await manager.RefreshUrls(urls); if (ret.Code != (int)HttpCode.OK) { Assert.True(false, ret.ToString()); } Console.WriteLine(ret.Result.Code); Console.WriteLine(ret.Result.Error); Console.WriteLine(ret.Result.UrlQuotaDay); Console.WriteLine(ret.Result.UrlSurplusDay); Console.WriteLine(ret.Result.RequestId); if (ret.Result.InvalidUrls != null) { foreach (var url in ret.Result.InvalidUrls) { Console.WriteLine(url); } } }
public static ICdnManager CreateCdnManager() { return(CreateMockedManager(c => CdnManager .Configure() .WithDelegatingHandlers(GetHandlers()) .WithLogLevel(HttpLoggingDelegatingHandler.Level.BodyAndHeaders) .Authenticate(c, c.DefaultSubscriptionId))); }
public async Task PrefetchTest() { Mac mac = new Mac(AccessKey, SecretKey); CdnManager target = new CdnManager(mac); string[] urls = new string[] { TestURL1, TestURL2 }; PrefetchResult result = await target.PrefetchUrlsAsync(urls); Assert.AreNotEqual((int)HttpCode.USER_EXCEPTION, result.RefCode); }
public void CreateTimestampAntiLeechUrlTest() { const string host = "http://qnls.example.com"; const string fileName = "hello/6000694.ls"; const string query = ""; const int expireInSeconds = 3600; const string encryptKey = "xxx"; var finalUrl = CdnManager.CreateTimestampAntiLeechUrl(host, fileName, query, encryptKey, expireInSeconds); Console.WriteLine(finalUrl); }
/// <summary> /// 文件预取 /// </summary> public static void cdnPrefetch() { Mac mac = new Mac(Settings.AccessKey, Settings.SecretKey); CdnManager fusionMgr = new CdnManager(mac); string[] urls = new string[] { "http://yourdomain.clouddn.com/somefile.php" }; PrefetchRequest request = new PrefetchRequest(urls); PrefetchResult result = fusionMgr.PrefetchUrls(request); Console.WriteLine(result); }
public void RefreshTest() { Mac mac = new Mac(AccessKey, SecretKey); CdnManager target = new CdnManager(mac); string[] urls = new string[] { TestURL1, TestURL2 }; //string[] dirs = new string[] { "" }; string[] dirs = null; RefreshResult result = target.RefreshUrlsAndDirs(urls, dirs); //Assert.AreEqual((int)HttpCode.OK, result.Code); Assert.AreNotEqual((int)HttpCode.USER_EXCEPTION, result.Code); }
/// <summary> /// 日志查询 /// </summary> public static void cdnLogList() { Mac mac = new Mac(Settings.AccessKey, Settings.SecretKey); CdnManager fusionMgr = new CdnManager(mac); LogListRequest request = new LogListRequest(); request.Day = "2016-09-01"; // date:which-day request.Domains = "DOMAIN1;DOMAIN2"; // domains LogListResult result = fusionMgr.GetCdnLogList(request); Console.WriteLine(result); }
public void CreateAnitleechUrlTest() { Mac mac = new Mac(AccessKey, SecretKey); CdnManager target = new CdnManager(mac); string qiniuKey = "12345678"; int expireInSeconds = 600; TimestampAntiLeechUrlRequest req = new TimestampAntiLeechUrlRequest(TestURL2, qiniuKey, expireInSeconds); string result = target.CreateTimestampAntiLeechUrl(req); Assert.IsNotNull(result); }
public async Task GetFluxDataTest() { Mac mac = new Mac(AccessKey, SecretKey); CdnManager target = new CdnManager(mac); string[] domains = new string[] { TestDomain }; string start = "2017-01-01"; string end = "2017-01-01"; string granu = "day"; FluxResult result = await target.GetFluxDataAsync(domains, start, end, granu); Assert.AreEqual((int)HttpCode.OK, result.Code); }
public async Task GetBandwidthDataTest() { Mac mac = new Mac(AccessKey, SecretKey); CdnManager target = new CdnManager(mac); string[] domains = new string[] { TestDomain }; string start = "2017-01-01"; string end = "2017-01-01"; string granu = "day"; BandwidthResult result = await target.GetBandwidthDataAsync(domains, start, end, granu); Assert.AreNotEqual((int)HttpCode.USER_EXCEPTION, result.RefCode); }
/// <summary> /// 缓存刷新 /// </summary> private void CdnRefresh() { // 这个示例单独使用了一个Settings类,其中包含AccessKey和SecretKey // 实际应用中,请自行设置您的AccessKey和SecretKey Mac mac = new Mac(AppCode.AK, AppCode.SK); CdnManager cdnMgr = new CdnManager(mac); string[] dirs = new string[] { "http://omt3z8gfa.bkt.clouddn.com/" }; var result = cdnMgr.RefreshDirs(dirs); // 或者使用下面的方法 //RefreshRequest request = new RefreshRequest(); //request.AddDirs(dirs); //var result = cdnMgr.RefreshUrlsAndDirs(request); }
public void GetFluxDataTest() { Mac mac = new Mac(AccessKey, SecretKey); CdnManager manager = new CdnManager(mac); string[] domains = new string[] { Domain }; string start = "2017-08-01"; string end = "2017-08-10"; string granu = "day"; FluxResult ret = manager.GetFluxData(domains, start, end, granu); if (ret.Code != (int)HttpCode.OK) { Assert.Fail(ret.ToString()); } foreach (string domain in domains) { Console.WriteLine("flux data of domain: " + domain); foreach (string t in ret.Result.Time) { Console.Write(t + "\t"); } Console.WriteLine(); if (ret.Result.Data.ContainsKey(domain)) { if (ret.Result.Data[domain].China != null) { Console.WriteLine("China:"); foreach (UInt64 v in ret.Result.Data[domain].China) { Console.Write(v + "\t"); } Console.WriteLine(); } if (ret.Result.Data[domain].Oversea != null) { Console.WriteLine("Oversea:"); foreach (int v in ret.Result.Data[domain].Oversea) { Console.Write(v + "\t"); } Console.WriteLine(); } } } }
public async Task GetBandwidthDataTest() { var mac = new Mac(AccessKey, SecretKey); var manager = new CdnManager(mac); var domains = new[] { Domain }; var start = "2017-08-01"; var end = "2017-08-10"; var granu = "day"; var ret = await manager.GetBandwidthData(domains, start, end, granu); if (ret.Code != (int)HttpCode.OK) { Assert.True(false, ret.ToString()); } foreach (var domain in domains) { Console.WriteLine("bandwidth data of domain: " + domain); if (ret.Result.Time != null) { Console.WriteLine(string.Join("\t", ret.Result.Time)); } if (ret.Result.Data.ContainsKey(domain)) { if (ret.Result.Data[domain].China != null) { Console.WriteLine("China:"); foreach (var v in ret.Result.Data[domain].China) { Console.Write(v + "\t"); } Console.WriteLine(); } if (ret.Result.Data[domain].Oversea != null) { Console.WriteLine("Oversea:"); foreach (var v in ret.Result.Data[domain].Oversea) { Console.Write(v + "\t"); } Console.WriteLine(); } } } }
private static async Task UploadQiniuAsync() { var accessKey = Environment.GetEnvironmentVariable("ak"); var secretKey = Environment.GetEnvironmentVariable("sk"); if (string.IsNullOrEmpty(accessKey) || string.IsNullOrEmpty(secretKey)) { return; } var mac = new Mac(accessKey, secretKey); const string key = "Minecraft-Mod-Language-Modpack.zip"; const string filePath = @"./Minecraft-Mod-Language-Modpack.zip"; const string bucket = "langpack"; var putPolicy = new PutPolicy { Scope = bucket + ":" + key }; putPolicy.SetExpires(120); var token = Auth.CreateUploadToken(mac, putPolicy.ToJsonString()); var config = new Config { Zone = Zone.ZoneCnSouth, UseHttps = true, UseCdnDomains = true, ChunkSize = ChunkUnit.U512K }; var target = new FormUploader(config); var result = await target.UploadFile(filePath, key, token, null); Console.WriteLine("form upload result: " + result.Text); var manager = new CdnManager(mac); string[] urls = { "http://downloader.meitangdehulu.com/Minecraft-Mod-Language-Modpack.zip" }; var ret = await manager.RefreshUrls(urls); if (ret.Code != (int)HttpCode.OK) { Console.WriteLine(ret.ToString()); } Console.WriteLine(ret.Result.Code); Console.WriteLine(ret.Result.Error); if (ret.Result.InvalidUrls != null) { foreach (var url in ret.Result.InvalidUrls) { Console.WriteLine(url); } } }
/// <summary> /// 带宽 /// </summary> public static void cdnBandwidth() { Mac mac = new Mac(Settings.AccessKey, Settings.SecretKey); CdnManager fusionMgr = new CdnManager(mac); BandwidthRequest request = new BandwidthRequest(); request.StartDate = "2016-09-01"; request.EndDate = "2016-09-20"; request.Granularity = "day"; request.Domains = "yourdomain.bkt.clouddn.com;yourdomain2;yourdomain3"; BandwidthResult result = fusionMgr.GetBandwidthData(request); Console.WriteLine(result); }
/// <summary> /// 流量 /// </summary> public static void cdnFlux() { Mac mac = new Mac(Settings.AccessKey, Settings.SecretKey); CdnManager fusionMgr = new CdnManager(mac); FluxRequest request = new FluxRequest(); request.StartDate = "START_DATE"; request.EndDate = "END_DATE"; request.Granularity = "GRANU"; request.Domains = "DOMAIN1;DOMAIN2"; FluxResult result = fusionMgr.GetFluxData(request); Console.WriteLine(result); }
public void GetFluxDataTest() { Mac mac = new Mac(AccessKey, SecretKey); CdnManager target = new CdnManager(mac); string[] domains = new string[] { TestDomain }; string start = "2017-01-01"; string end = "2017-01-01"; string granu = "day"; FluxResult result = target.GetFluxData(domains, start, end, granu); //Assert.AreEqual((int)HttpCode.OK, result.Code); Assert.AreNotEqual((int)HttpCode.USER_EXCEPTION, result.RefCode); }
/// <summary> /// 缓存刷新 /// </summary> public static void cdnRefresh() { Mac mac = new Mac(Settings.AccessKey, Settings.SecretKey); CdnManager fusionMgr = new CdnManager(mac); string[] urls = new string[] { "http://yourdomain.bkt.clouddn.com/somefile.php" }; string[] dirs = new string[] { "http://yourdomain.bkt.clouddn.com/" }; RefreshRequest request = new RefreshRequest(); request.AddUrls(urls); request.AddDirs(dirs); var result = fusionMgr.RefreshUrlsAndDirs(request); Console.WriteLine(result); }
public void CreateAnitleechUrlTest2() { Mac mac = new Mac(AccessKey, SecretKey); CdnManager target = new CdnManager(mac); string qiniuKey = "12345678"; int expireInSeconds = 600; string host, path, file, query; UrlHelper.UrlSplit(TestURL2, out host, out path, out file, out query); string result = target.CreateTimestampAntiLeechUrl(host, path, file, query, qiniuKey, expireInSeconds); Assert.IsNotNull(result); }
/// <summary> /// 时间戳防盗链 /// </summary> public void hotLink() { Mac mac = new Mac(Settings.AccessKey, Settings.SecretKey); CdnManager fusionMgr = new CdnManager(mac); TimestampAntiLeechUrlRequest request = new TimestampAntiLeechUrlRequest(); request.Host = "http://your-host"; request.Path = "/path/"; request.File = "file-name"; request.Query = "?version=1.1"; request.SetLinkExpire(600); //request.RawUrl string prefLink = fusionMgr.CreateTimestampAntiLeechUrl(request); Console.WriteLine(prefLink); }
public static bool PrefetchUrls(Mac mac, string[] urls, out string Result) { StringBuilder sb = new StringBuilder(); CdnManager cdnMgr = new CdnManager(mac); var result = cdnMgr.PrefetchUrls(urls); sb.AppendLine($"Code:{result.Result.Code}"); if (result.Result.InvalidUrls != null) { sb.AppendLine($"InvalidUrls:"); foreach (string url in result.Result.InvalidUrls) { sb.Append(url + " "); } } if (result.Code == 200) { if (!string.IsNullOrWhiteSpace(result.Result.RequestId)) { sb.AppendLine($"RequestId:{result.Result.RequestId}"); } sb.AppendLine($"每日的预取 url 限额quotaDay:{result.Result.QuotaDay}"); sb.AppendLine($"剩余的预取 url 限额surplusDay:{result.Result.SurplusDay}"); Result = sb.ToString(); return(true); } if (!string.IsNullOrWhiteSpace(result.Result.Error)) { sb.AppendLine($"Error:{result.Result.Error}"); } Result = sb.ToString(); return(false); // cdnMgr.RefreshUrlsAndDirs() }
private bool TryInit() { if (cdnManager != null) { return(true); } string ak = AppSettings.Default.ACCESS_KEY; string sk = AppSettings.Default.SECRET_KEY; if (string.IsNullOrEmpty(ak) || ak.Length < 40 || string.IsNullOrEmpty(sk) || sk.Length < 40) { return(false); } else { Mac mac = new Mac(ak, sk); cdnManager = new CdnManager(mac); return(true); } }
public async Task GetCdnLogListTest() { var mac = new Mac(AccessKey, SecretKey); var manager = new CdnManager(mac); var day = "2017-08-10"; var domains = new[] { Domain }; var ret = await manager.GetCdnLogList(domains, day); if (ret.Code != (int)HttpCode.OK) { Assert.True(false, ret.ToString()); } foreach (var domain in ret.Result.Data.Keys) { Console.WriteLine("log list for domain: " + domain); foreach (var data in ret.Result.Data[domain]) { Console.WriteLine($"{data.Name}\t{data.Size}\t{data.Mtime}\t{data.Url}"); } } }
public void GetCdnLogListTest() { Mac mac = new Mac(AccessKey, SecretKey); CdnManager manager = new CdnManager(mac); string day = "2017-08-10"; string[] domains = new string[] { Domain }; LogListResult ret = manager.GetCdnLogList(domains, day); if (ret.Code != (int)HttpCode.OK) { Assert.Fail(ret.ToString()); } foreach (string domain in ret.Result.Data.Keys) { Console.WriteLine("log list for domain: " + domain); foreach (LogData data in ret.Result.Data[domain]) { Console.WriteLine(data.Name + "\t" + data.Size + "\t" + data.Mtime + "\t" + data.Url); } } }