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,服务器拒绝响应