我在获取HTTP POST请求的响应时遇到了麻烦

本文关键字:响应 遇到 麻烦 请求 获取 HTTP POST | 更新日期: 2023-09-27 18:06:16

我试图从web服务器获得http响应,该服务器要求我在application/json中的凭据。虽然在他们的网站上他们说我必须使用POST请求,我得到405 HTTP状态和一个WebException作为答案。下面是我的代码:

private bool RunAuth(bool b, String user, String pass)
{
    if(b)
    {
        HttpWebRequest h = (HttpWebRequest)WebRequest.Create("https://authserver.mojang.com/");
        h.Method = "POST";
        h.KeepAlive = false;
        h.ContentType = "application/json";
        String json = "{" + "'"agent'": {" + "'"name'": '"Minecraft'"," + "'"version'": 1" + "}," + "'"username'": '""+user+"'"," + "'"password'": '""+pass+"'"," + "'"clientToken'": '"" + tokenGenerated + "'"" + "}"; //tokenGenerated = Guid.NewGuid().ToString();
        h.ContentLength = json.Length;
        using(var stream = new StreamWriter(h.GetRequestStream()))
        {
            stream.Write(json);
            stream.Flush();
            stream.Close();
        }
        HttpWebResponse r = (HttpWebResponse)h.GetResponse();
        using (var stream = new StreamReader(r.GetResponseStream()))
        {
            String result = stream.ReadToEnd();
            File.WriteAllText(appdata + @"'.craftunio'authtest.txt", result);
        }
        return true;
    }
    else
    {
        return false;
    }
}

我在获取HTTP POST请求的响应时遇到了麻烦

您打错了电话。你应该调用

HttpWebRequest h = (HttpWebRequest)WebRequest.Create("https://authserver.mojang.com/authenticate");