public StatusReturnJson GetStatus(StatusPostJson spj) { var request = CreateHttpRequest(spj); var resultResponse = requestClient.Execute(request); StatusReturnJson rjs = SimpleJson.DeserializeObject <StatusReturnJson>(resultResponse.Content); return(rjs); }
private RestRequest CreateHttpRequest(StatusPostJson paramsJsonObj) { string bodyJson = InitParamsAndUrl(paramsJsonObj, taskPath); if (requestClient == null) { requestClient = new RestClient(apiFullUrl); requestClient.Encoding = Encoding.UTF8; requestClient.UserAgent = USER_AGENT; } var request = new RestRequest(Method.POST); request.RequestFormat = DataFormat.Json; request.AddParameter("application/json", bodyJson, ParameterType.RequestBody); return(request); }
private string InitParamsAndUrl(StatusPostJson paramsJsonObj, string path) { if (string.IsNullOrEmpty(paramsJsonObj.appkey)) { paramsJsonObj.appkey = this.appkey; } //重置url this.apiFullUrl = string.Concat(requestProtocol, "://", hostUrl, "/", path, "/"); paramsJsonObj.timestamp = GetTimeStamp().ToString(); //string json = RestSharp.SimpleJson.SerializeObject(paramsJsonObj); Newtonsoft.Json.JsonSerializerSettings jssetting = new Newtonsoft.Json.JsonSerializerSettings(); jssetting.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore; string json = Newtonsoft.Json.JsonConvert.SerializeObject(paramsJsonObj, jssetting); string calcSign = md5.GenerateMD5(requestMethod + apiFullUrl + json + appMasterSecret).ToLower(); this.apiFullUrl = string.Format("{0}?sign={1}", this.apiFullUrl, calcSign); return(json); }