Post 在 C# 中使用 WebClient 的数据和服务器重放 Bad Gateway

Post data using WebClient in C# and server replay Bad Gateway

我需要编写用于在 myServer 上登录的 c# 代码。 我尝试使用此代码,但 myServer 总是以相同的响应回复我 (502) 网关错误

        ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
        string result = "";
        string json = "{\"UserName\": \"myUser\", \"Password\": \"myPassword\"}";

        using (var client = new WebClient())
        {
            client.Headers[HttpRequestHeader.ContentType] = "application/json";
            client.Encoding = Encoding.UTF8;
            result = client.UploadString("https://<myServer>/Login", "POST", json;
        }

当我尝试使用 Google Chrome App PostmanArc 连接到服务器时,登录成功。

我的代码哪里出错了?

为了解决这个问题,我使用了 HttpWebResponse class 而不是 WebClient

这是最后的代码

        HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("https://myserver");
        using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
        {
            string json = new JavaScriptSerializer().Serialize(new
            {
                UserName = "<myUserName>",
                Password = "<myPassword>"
            });
            streamWriter.Write(json);
        }

        var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
        using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
        {
            Console.WriteLine(streamReader.ReadToEnd());
        }