【发布时间】:2010-04-17 22:37:10
【问题描述】:
我想重用一个 WebRequest 对象,以便保存 cookie 和会话以供以后向服务器请求。下面是我的代码。如果我在第二次使用 Post 功能两次
request.ContentLength = byteArray.Length;
会抛出异常
写入开始后无法设置该属性!
但是如你所见
dataStream.Close();
应该关闭写进程!有人知道怎么回事吗?
static WebRequest request;
public MainForm()
{
request = WebRequest.Create("http://localhost/admin/admin.php");
}
static string Post(string url, string data)
{
request.Method = "POST";
byte[] byteArray = Encoding.UTF8.GetBytes(data);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine(responseFromServer);
reader.Close();
dataStream.Close();
response.Close();
request.Abort();
return responseFromServer;
}
【问题讨论】:
标签: c#