private async Task <string> ExecutePostAsync(string path, Dictionary <string, string> paramaters = null) { var url = ConfigurationManager.AppSettings["Ice3XUrl"]; var queryString = string.Empty; var keyValueParams = new List <KeyValuePair <string, string> >(); if (paramaters != null) { queryString = QueryStringBuilder.BuildQueryString(paramaters); foreach (var paramatersKey in paramaters.Keys) { keyValueParams.Add(new KeyValuePair <string, string>(paramatersKey, paramaters[paramatersKey])); } } using (var httpClient = new HttpClient()) { var timeStamp = UnixTimeNow(); var uri = new Uri(string.Format($"{url}{path}")); var signature = SignMessage(queryString); var requestContent = new FormUrlEncodedContent(keyValueParams); using (var request = new HttpRequestMessage { RequestUri = uri, Method = HttpMethod.Post, Content = requestContent }) { request.Headers.Add("accept-charset", "utf-8"); request.Headers.Add("sign", signature); request.Headers.Add("key", _publicKey); request.Headers.Add("timestamp", timeStamp.ToString()); var response = await httpClient.SendAsync(request); var responseContent = response.Content; using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync())) { return(await reader.ReadToEndAsync()); } } } }
private async Task <string> ExecuteGetAsync(string path, Dictionary <string, object> paramaters = null) { var url = ConfigurationManager.AppSettings["Ice3XUrl"]; if (paramaters != null) { var queryString = QueryStringBuilder.BuildQueryString(paramaters); path = $"{path}?{queryString}"; } using (var client = new WebClient()) { var result = await client.DownloadStringTaskAsync(new Uri($"{url}{path}")); return(result); } }