C# HttpWebRequest 怎么重复使用?

kennie_190602169 2010-11-04 08:26:45
大家好, 我先贴出代码



HttpWebRequest request = null;

private void button1_Click(object sender, EventArgs e)
{
InitRequest();
}

private void button2_Click(object sender, EventArgs e)
{
GetResult();
}

private void InitRequest()
{
request = (HttpWebRequest)WebRequest.Create("http://www.baidu.com");

request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";

request.Accept = "*/*";

request.AllowAutoRedirect = false;

request.KeepAlive = true;
}

private void GetResult()
{
HttpWebResponse response = (HttpWebResponse)this.request.GetResponse();

StreamReader sr = new StreamReader(response.GetResponseStream());

string result = sr.ReadToEnd();

}



我的目的是,按一次button1,将request初始化一次,再不停的按button2来获取网页数据.

我的操作步骤是,按button1,按button2,能获取到数据,但再次按button2,sr.ReadToEnd()是空的, 难道request初始化一次,就只可以使用一次? 以后再用又必须再初始化?
...全文
739 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cc_net 2010-11-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xuld222 的回复:]
每次 Create


因为 tcp/ip 无状态
[/Quote]

http吧
kennie_190602169 2010-11-05
  • 打赏
  • 举报
回复
......................
kennie_190602169 2010-11-05
  • 打赏
  • 举报
回复
恩 或者换个其他试试
kennie_190602169 2010-11-05
  • 打赏
  • 举报
回复
顶.............
kennie_190602169 2010-11-04
  • 打赏
  • 举报
回复
还是不太懂.

HttpWebRequest已经有 request.KeepAlive = true; 来保持它的连接, 而我第二次使用HttpWebRequest的时候不是当作一个新的request吗? 而且第二次使用的时候,response.ContentLength也是有长度的, 但是stream读出来是空.
xuld 2010-11-04
  • 打赏
  • 举报
回复
每次 Create


因为 tcp/ip 无状态
孟子E章 2010-11-04
  • 打赏
  • 举报
回复
是的,每次都要进行Create

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧