Ejemplo n.º 1
0
        /// <summary>
        /// 执行请求
        /// </summary>
        /// <param name="apiName"></param>
        /// <param name="req"></param>
        /// <param name="method"></param>
        /// <param name="ip"></param>
        /// <param name="isFromAttr"></param>
        /// <param name="httpGetOptions"></param>
        /// <param name="httpPostOptions"></param>
        /// <param name="clientSetting"></param>
        /// <returns></returns>
        protected virtual async Task <string> DoRequest(string apiName, object req, string method, string ip = null, bool isFromAttr = false, HttpGetOptions httpGetOptions = null, HttpPostOptions httpPostOptions = null, Action <HttpClient> clientSetting = null)
        {
            string url = _baseApiUrl;

            url += apiName;
            var data = new Dictionary <string, string>();

            FillData(req, data, isFromAttr);
            AppendApiAuthParam(apiName, data, ip);

            var paramStr = GetParamStr(data);

            Logger.LogDebug($"[{Name}]开始调用Http接口,Url={url},Param={paramStr}");

            string ret = "";

            try
            {
                if (method.ToLower() == "post")
                {
                    ret = await HttpRequestUtils.PostFormAsync(url, data, null, httpPostOptions, clientSetting);
                }
                else if (method.ToLower() == "postjson")
                {
                    ret = await HttpRequestUtils.PostAsync(url, req.ToJson(), null, httpPostOptions, clientSetting);
                }
                else
                {
                    ret = await HttpRequestUtils.GetAsync(url, data, httpGetOptions, clientSetting);
                }
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.InnerException == null ? ex : ex.InnerException, $"[{Name}]调用Http接口出现错误,Url={url},Param={paramStr}");
                throw ex;
            }

            Logger.LogDebug($"[{Name}]Http接口调用完成,Url={url},Param={paramStr},Response={ret}");
            return(ret);
        }
Ejemplo n.º 2
0
 private static async Task GetAsync(HttpGetOptions options)
 {
     HttpClient          client          = new HttpClient();
     HttpResponseMessage responseMessage = await client.GetAsync(options.Endpoint);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// 执行请求
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="apiName"></param>
        /// <param name="req"></param>
        /// <param name="method"></param>
        /// <param name="ip"></param>
        /// <param name="isFromAttr"></param>
        /// <param name="httpGetOptions"></param>
        /// <param name="httpPostOptions"></param>
        /// <param name="clientSetting"></param>
        /// <returns></returns>
        protected virtual async Task <T> DoRequest <T>(string apiName, object req, string method, string ip = null, bool isFromAttr = false, HttpGetOptions httpGetOptions = null, HttpPostOptions httpPostOptions = null, Action <HttpClient> clientSetting = null) where T : class, new()
        {
            string ret = await DoRequest(apiName, req, method, ip, isFromAttr, httpGetOptions, httpPostOptions, clientSetting);

            return(ParseResponse <T>(ret));
        }