Получение этого сообщения об ошибке «Невозможно отправить тело содержимого с этим типом команды». - PullRequest
0 голосов
/ 08 мая 2020

Я получаю это сообщение при запросе WebClient к API в C# с использованием метода GET. Я что-то пропустил в своем коде? но когда я использую метод POST, он показывает тот же результат, когда я тестирую его на PostMan, что является ошибкой, потому что POST не является методом для использования в этой ссылке

Вот мой код.

 [WebMethod]
public string HelloWorld()
{
    string module = "/heartbeat";
    string method = "GET";
    string link = sandboxURL;

    ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; // 3072 is SecurityProtocol.Tls12
    System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate (object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };

    var response = "";
    string body = "";
    var _link = link + module;
    using (var client = new WebClient())
    {
        try
        {
            client.Headers.Add("Content-Type:application/json");
            client.Headers.Add("Authorization", "Bearer "+ JWTToken);

            //var url = new Uri(_link);

            response = client.UploadString(_link, method, body);
        }
        catch(WebException ex)
        {
            if (ex.Status == WebExceptionStatus.ProtocolError)
            {
                HttpWebResponse wrsp = (HttpWebResponse)ex.Response;
                var statusCode = (int)wrsp.StatusCode;
                var msg = wrsp.StatusDescription;

                Stream stream = wrsp.GetResponseStream();

                byte[] data = new byte[4096];
                int read;
                StringBuilder sb = new StringBuilder();
                while ((read = stream.Read(data, 0, data.Length)) > 0)
                {
                    sb.Append(ASCIIEncoding.ASCII.GetString(data));
                }
            }
        }
    }

        return response;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...