向服务器发出 Json POST 请求,但服务器响应 (400) 错误请求

本文关键字:服务器 请求 响应 错误 Json POST | 更新日期: 2023-09-27 18:35:40

我想使用Google api创建Gmail用户帐户。我正在向服务器发送 JSON 请求以获取授权代码,但我在 httpwebresponse 中收到这些错误:-

异常详细信息: System.Net.Web异常: 远程服务器返回错误: (400) 错误请求

    var request = (HttpWebRequest)WebRequest.Create(@"https://accounts.google.com/o/oauth2/auth");
    request.Method = "POST";
    request.ContentType = "text/json";
    request.KeepAlive = false;
    //request.ContentLength = 0;
    using (StreamWriter streamWriter = new StreamWriter(request.GetRequestStream()))
    {
        string json = "{'"scope'":'"https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile'"," + "'"state'":'"%2Fprofile'"," + "'"redirect_uri'":'"http://gmailcheck.com/response.aspx'"," + "'"response_type'":'"code'"," + "'"client_id'":'"841994137170.apps.googleusercontent.com'"}";
        streamWriter.Write(json);
        // streamWriter.Flush();
        //streamWriter.Close();
    }
        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            StreamReader responsereader = new StreamReader(response.GetResponseStream());
            var responsedata = responsereader.ReadToEnd();
            //Session["responseinfo"] = responsereader;
            //testdiv.InnerHtml = responsedata;
        }
}

向服务器发出 Json POST 请求,但服务器响应 (400) 错误请求

一旦出现异常,您必须阅读服务器的实际响应,应该会有所帮助。像错误描述或扩展状态代码...

例如:

try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
         ... your code goes here....
}
catch (WebException ex)
        {
        using (WebResponse response = ex.Response)
        {
            var httpResponse = (HttpWebResponse)response;
            using (Stream data = response.GetResponseStream())
            {
                StreamReader sr = new StreamReader(data);
                throw new Exception(sr.ReadToEnd());
            }
        }
    }