Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }