예제 #1
0
        public StatusReturnJson GetStatus(StatusPostJson spj)
        {
            var request          = CreateHttpRequest(spj);
            var resultResponse   = requestClient.Execute(request);
            StatusReturnJson rjs = SimpleJson.DeserializeObject <StatusReturnJson>(resultResponse.Content);

            return(rjs);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }