【发布时间】:2010-09-24 01:01:54
【问题描述】:
这是我的控制台程序的目的:发出 Web 请求 > 保存 Web 请求的结果 > 使用 QueryString 从 Web 请求中获取下一页 > 保存这些结果 > 使用 QueryString 从 Web 请求中获取下一页等。
所以这里有一些关于我如何设置代码的伪代码。
for (int i = 0; i < 3; i++)
{
strPageNo = Convert.ToString(i);
//creates the url I want, with incrementing pages
strURL = "http://www.website.com/results.aspx?page=" + strPageNo;
//makes the web request
wrGETURL = WebRequest.Create(strURL);
//gets the web page for me
objStream = wrGETURL.GetResponse().GetResponseStream();
//for reading web page
objReader = new StreamReader(objStream);
//--------
// -snip- code that saves it to file, etc.
//--------
objStream.Close();
objReader.Close();
//so the server doesn't get hammered
System.Threading.Thread.Sleep(1000);
}
很简单,对吧? 问题是,即使它增加页码以获得不同的网页,每次循环运行时我都会得到完全相同的结果页面。
i 是正确递增的,我可以将strURL 创建的 url 剪切/粘贴到网络浏览器中,它工作得很好。
我可以手动输入&page=1、&page=2、&page=3,它会返回正确的页面。不知何故,把增量放在那里搞砸了。
它与会话有什么关系,还是什么?我确保在它再次循环之前关闭流和阅读器...
【问题讨论】:
-
哈哈,它只是打开一个流式阅读器并将其保存到一个txt文档。
-
你能解决这个问题吗? j_depp_99@yahoo.com