/// <summary> /// 抓取文件 /// </summary> /// <param name="resUrl">资源URL</param> /// <param name="bucket">空间名称</param> /// <param name="key">文件key</param> /// <returns>状态码为200时表示OK</returns> public FetchResult Fetch(string resUrl, string bucket, string key) { FetchResult result = new FetchResult(); try { string fetchUrl = string.Format("{0}{1}", this.config.IovipHost(this.mac.AccessKey, bucket), FetchOp(resUrl, bucket, key)); string token = auth.CreateManageToken(fetchUrl); HttpResult httpResult = httpManager.Post(fetchUrl, token); result.Shadow(httpResult); } catch (QiniuException ex) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("[{0}] [fetch] Error: ", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffff")); Exception e = ex; while (e != null) { sb.Append(e.Message + " "); e = e.InnerException; } sb.AppendLine(); result.Code = ex.HttpResult.Code; result.RefCode = ex.HttpResult.Code; result.Text = ex.HttpResult.Text; result.RefText += sb.ToString(); } return(result); }
/// <summary> /// 抓取文件 /// </summary> /// <param name="resUrl">资源URL</param> /// <param name="bucket">空间名称</param> /// <param name="key">文件key</param> /// <returns>状态码为200时表示OK</returns> public async Task <FetchResult> Fetch(string resUrl, string bucket, string key) { var result = new FetchResult(); try { var host = await _config.IovipHost(_mac.AccessKey, bucket); var fetchUrl = $"{host}{FetchOp(resUrl, bucket, key)}"; var token = _auth.CreateManageToken(fetchUrl); var httpResult = await _httpManager.PostAsync(fetchUrl, token); result.Shadow(httpResult); } catch (QiniuException ex) { var sb = new StringBuilder(); sb.Append($"[{DateTime.Now:yyyy-MM-dd HH:mm:ss.ffff}] [fetch] Error: "); Exception e = ex; while (e != null) { sb.Append(e.Message + " "); e = e.InnerException; } sb.AppendLine(); result.Code = ex.HttpResult.Code; result.RefCode = ex.HttpResult.Code; result.Text = ex.HttpResult.Text; result.RefText += sb.ToString(); } return(result); }