我在获取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;
}
}
您打错了电话。你应该调用
HttpWebRequest h = (HttpWebRequest)WebRequest.Create("https://authserver.mojang.com/authenticate");