我正在编写一个从一系列网页中读取数据的程序;这适用于第一页,但是它会在等待下一页的响应时挂起,直到超时。无论我是从阅读第 1、2、140 页等开始,它总是会成功阅读第一页,但之后就没有了。
我认为这可能与访问页面所需的“cookieHeader”变量有关,因为网站需要用户先登录。但是,当我检查这个元素时,它的过期时间设置为第二天,所以我还没有看到它是如何过期的。
我是新手,所以我希望以前遇到过这个问题或者对 cookie 有更好理解的人可以帮助我。我将不胜感激任何意见!下面是一段代码,其中超时错误被 try-catch 包装器捕获。
// loop through each page
for (int i = 1; i <= totalPages; i++)
{
string thisUrl = chatUrl + i; //add page number to url
WebRequest getReq = WebRequest.Create(thisUrl);
getReq.Headers.Add("Cookie", cookieHeader);
try
{
WebResponse getResp = getReq.GetResponse();
Console.WriteLine("Page " + i + " read successfully");
}
catch (Exception e)
{
Console.WriteLine("Page " + i + " failed");
}
}