【发布时间】:2012-02-27 01:48:30
【问题描述】:
这是我正在使用的代码:
// create a request
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create(url); request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version10;
request.Method = "POST";
// turn our request string into a byte stream
byte[] postBytes = Encoding.UTF8.GetBytes(json);
// this is important - make sure you specify type this way
request.ContentType = "application/json; charset=UTF-8";
request.Accept = "application/json";
request.ContentLength = postBytes.Length;
request.CookieContainer = Cookies;
request.UserAgent = currentUserAgent;
Stream requestStream = request.GetRequestStream();
// now send it
requestStream.Write(postBytes, 0, postBytes.Length);
requestStream.Close();
// grab te response and print it out to the console along with the status code
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string result;
using (StreamReader rdr = new StreamReader(response.GetResponseStream()))
{
result = rdr.ReadToEnd();
}
return result;
当我运行它时,我总是收到 500 内部服务器错误。
我做错了什么?
【问题讨论】:
-
首先,确保您发布的数据是服务器所期望的。
-
其实,我好像发布了无效数据...
-
为方便工作,您也可以将 json 库添加到您的视觉工作室
-
@Arsen - 服务器不应因格式错误的数据而崩溃。提交错误报告。
标签: c# json post httpwebrequest