62,047
社区成员
发帖
与我相关
我的任务
分享
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = Encoding.UTF8.GetBytes(postDataStr).Length;
StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.GetEncoding("utf-8"));
writer.Write(postDataStr);
writer.Flush();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
byte[] postBytes = Encoding.UTF8.GetBytes(postDataStr);
request.ContentLength = Encoding.UTF8.GetBytes(postDataStr).Length;
using (Stream reqStream = request.GetRequestStream()) {
reqStream.Write(postBytes, 0, postBytes.Length);
}
这次就成功了,post请求成功发送,菜单也成功生成,并且中文正常显示。
我又在这一段新的代码上,尝试不设置ContentLength,并加上Flush,结果仍旧是成功的,可能是因为我把StreamWriter换成Stream的缘故?