当前位置: 代码迷 >> C# >> ,使用WebClient类post时,返回500内部服务器异常
  详细解决方案

,使用WebClient类post时,返回500内部服务器异常

热度:107   发布时间:2016-05-05 02:49:34.0
求助,使用WebClient类post时,返回500内部服务器错误
本帖最后由 surreal07 于 2015-09-24 09:43:51 编辑
C#新手,请大家帮忙看下,感激!

        private string PostDataToURL(string ticketStr, string url)
        {
            var result = new
            {
                name = "name01",
                code = "code01"
            };
            string postDataStr = JsonConvert.SerializeObject(result);
            byte[] postData = Encoding.UTF8.GetBytes(postDataStr);
            WebClient webClient = new WebClient();
            try
            {
                webClient.Headers.Add("Content-Type", "application/json;charset=utf-8");
                webClient.Headers.Add("ticket", ticketStr);//验证ticket
                byte[] responseData = webClient.UploadData(url, "POST", postData);
                string srcString = Encoding.UTF8.GetString(responseData);
                return srcString;
            }
            catch (WebException ex)
            {
                Stream stream = ex.Response.GetResponseStream();
                string m = ex.Response.Headers.ToString();
                byte[] buf = new byte[256];
                stream.Read(buf, 0, 256);
                stream.Close();
                int count = 0;
                foreach (var b in buf)
                {
                    if (b > 0)
                    {
                        count++;
                    }
                    else
                    {
                        break;
                    }
                }
                return ex.Message;
            }
        }

------解决思路----------------------
500是服务器错误啊,如果在浏览器里网页能正常打开,你就是你传递的参数有问题,f12看都传什么参数,然后方法里补全
------解决思路----------------------
不知你的 url 知否支持 application/json 类型,如果不支持的话,那么将不能按 post 方式取得传入的数据。
从而导致服务端程序产生致命错误,http 表现为错误号 500,服务器拒绝响应

  相关解决方案