示例#1
0
        private async Task <string> SendRequestAsync(HttpMethod method, string url, BinanceTrOptions options, Dictionary <string, string> parameters = null, CancellationToken ct = default)
        {
            try
            {
                using var httpClient = new HttpClient();
                var requestUri     = BinanceTrHelper.GetRequestUrl(url, true);
                var requestMessage = new HttpRequestMessage(method, requestUri);
                requestMessage.Headers.Add("X-MBX-APIKEY", options.ApiKey);

                if (method == HttpMethod.Get)
                {
                    requestMessage.RequestUri = new Uri(requestMessage.RequestUri.OriginalString + BinanceTrHelper.CreateQueryString(BinanceTrHelper.BuildRequest(options.ApiSecret, parameters)));
                }
                else
                {
                    requestMessage.Content = new FormUrlEncodedContent(BinanceTrHelper.BuildRequest(options.ApiSecret, parameters));
                }

                var response = await httpClient.SendAsync(requestMessage, ct).ConfigureAwait(false);

                return(await response.Content.ReadAsStringAsync().ConfigureAwait(false));
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
示例#2
0
        private static async Task <string> SendRequestWithoutAuth(string url, Dictionary <string, string> parameters = null, bool baseUrl = false, CancellationToken ct = default)
        {
            try
            {
                using var httpClient = new HttpClient();
                var requestUri = BinanceTrHelper.GetRequestUrl(url, baseUrl);

                var requestMessage = new HttpRequestMessage(HttpMethod.Get, requestUri);
                requestMessage.RequestUri = new Uri(requestMessage.RequestUri.OriginalString + BinanceTrHelper.CreateQueryString(BinanceTrHelper.BuildRequest(null, parameters)));

                var response = await httpClient.SendAsync(requestMessage, ct).ConfigureAwait(false);

                return(await response.Content.ReadAsStringAsync().ConfigureAwait(false));
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }