C#远程服务器返回错误: (500) 内部服务器错误
生活随笔
收集整理的這篇文章主要介紹了
C#远程服务器返回错误: (500) 内部服务器错误
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
今天寫代碼,報(bào)錯(cuò):遠(yuǎn)程服務(wù)器返回錯(cuò)誤: (500) 內(nèi)部服務(wù)器錯(cuò)誤,開始以為是服務(wù)器的問題,后來才發(fā)現(xiàn)是自己寫請求的時(shí)候的問題,出問題之前,我的HTTP請求是這么寫的:
public static HttpWebResponse CreatePostHttpResponse(string url, IDictionary<string, string> parameters, int timeout, string param){HttpWebRequest request = null;request = WebRequest.Create(url) as HttpWebRequest;request.Proxy = null;request.Method = "POST";request.ContentType = "application/x-www-form-urlencoded";if (timeout > 0)request.Timeout = timeout;if (!string.IsNullOrEmpty(param))request.Headers.Add("Authorization", param);//發(fā)送POST數(shù)據(jù) if (!(parameters == null || parameters.Count == 0)){StringBuilder buffer = new StringBuilder();int i = 0;foreach (string key in parameters.Keys){if (i > 0){buffer.AppendFormat("&{0}={1}", key, parameters[key]);}else{buffer.AppendFormat("{0}={1}", key, parameters[key]);i++;}}byte[] data = Encoding.UTF8.GetBytes(buffer.ToString());using (Stream stream = request.GetRequestStream()){stream.Write(data, 0, data.Length);}}string[] values = request.Headers.GetValues("Content-Type");return request.GetResponse() as HttpWebResponse;}注意請求頭:request.ContentType = “application/x-www-form-urlencoded”;
然后我換了一種請求方式:
public static HttpWebResponse CreatePostHttpResponse(string url, string jsonParam){HttpWebRequest request = null;request = WebRequest.Create(url) as HttpWebRequest;request.Proxy = null;request.Method = "POST";request.ContentType = "application/json";byte[] data = Encoding.UTF8.GetBytes(jsonParam);request.ContentLength = data.Length;using (Stream stream = request.GetRequestStream()){stream.Write(data, 0, data.Length);}return request.GetResponse() as HttpWebResponse;}注意請求頭 request.ContentType = “application/json”;
總結(jié),因?yàn)樗麄冃枰恼埱箢^是標(biāo)準(zhǔn)的json格式,但是我發(fā)送的請求頭格式不是標(biāo)準(zhǔn)的json格式,所以報(bào)這個(gè)錯(cuò)了,改一下就OK了,
總結(jié)
以上是生活随笔為你收集整理的C#远程服务器返回错误: (500) 内部服务器错误的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WinRunner
- 下一篇: c# char unsigned_dll