欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

post数据时远程服务器返回错误: (400)bad request 错误的请求。

程序员文章站 2022-07-01 16:31:51
今天调用post请求时遇到返回400的错误,查了一些资料有不少说法,说是传的数据格式不对,最后的结论确实是数据格式不对。设置Content_Type为:application/json,配的数据格式要注意与接收方的数据格式保持一致。...

今天调用post请求时遇到返回400的错误,查了一些资料有不少说法,说是传的数据格式不对,最后的结论确实是数据格式不对。设置Content_Type为:application/json,配的数据格式要注意与接收方的数据格式保持一致。

我的参数传递比较多,总共有十几个参数,遇到此问题后,我也是参数一个个看了,调试了好一会,最后发现有个字段的类型跟接口api的文档说明对不上,人家是需要int型而代码写了个string类型,修改类型后,再次发送正常。

post的方法代码

protected string PostUrl(string url, string postData)
    {
        try
        {
            HttpWebRequest webrequest = (HttpWebRequest)HttpWebRequest.Create(url);
            webrequest.Method = "post";
            webrequest.ContentType = "application/json;charset=utf-8";
            byte[] postdatabyte = Encoding.UTF8.GetBytes(postData);
            webrequest.ContentLength = postdatabyte.Length;
            Stream stream;
            stream = webrequest.GetRequestStream();
            stream.Write(postdatabyte, 0, postdatabyte.Length);
            stream.Close();
            using (var httpWebResponse = webrequest.GetResponse())
            using (StreamReader responseStream = new StreamReader(httpWebResponse.GetResponseStream()))
            {
                String ret = responseStream.ReadToEnd();
                string result = ret.ToString();
                return result;
            }
        }
        catch (Exception ex)
        {
            HttpContext.Current.Response.Write(ex);
            return "";
        }
    }
以上是总结的一个小经验,希望对你有所帮助