/// <summary> /// 获取GET请求 发来的参数 /// </summary> /// <param name="httpContext"></param> /// <returns></returns> private SignRequestData GetRequestParamsQueryString(HttpContext httpContext) { var result = new SignRequestData(); var paramList = new Dictionary <string, dynamic>(); foreach (var key in httpContext.Request.Query.Keys) { paramList.Add(key, httpContext.Request.Query[key].ToString()); } result.Sign = paramList.GetValueOrDefault("sign").ToString(); result.time = paramList.GetValueOrDefault("time").ToString(); result.Data = GetQueryParamsStr(new SortedDictionary <string, dynamic>(paramList)); return(result); }
/// <summary> /// 获取POST 请求发来的参数 /// </summary> /// <param name="httpContext"></param> /// <returns></returns> private SignRequestData GetRequestParamsBody(HttpContext httpContext) { var result = new SignRequestData(); httpContext.Request.EnableBuffering();//重置读取位置 httpContext.Request.Body.Position = 0; var bodyString = string.Empty; using (var stream = new StreamReader(httpContext.Request.Body)) { bodyString = stream.ReadToEnd(); } var data = bodyString.Deserialize <dynamic>(); //转为动态类型 var queryParams = Utility.Other.ReflectHelper.ConvertToDictionary(data); //转换为QueryString验签 result.time = data.Time; result.Sign = httpContext.Request.Headers["sign"];//httpContext.Request.Query["sign"].ToString();//从url中获取签名 //result.Data = GetQueryParamsStr(new SortedDictionary<string, dynamic>(queryParams)); result.Data = GetQueryParamsStr(queryParams); return(result); }