Вот цель моей консольной программы: сделать веб-запрос> сохранить результаты веб-запроса> использовать QueryString для получения следующей страницы из веб-запроса> сохранить эти результаты> использовать QueryString для получения следующей страницы из веб-запроса и т. Д. *
Итак, вот какой-то псевдокод для настройки кода.
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
правильно увеличивается, и я могу вырезать / вставить URL strURL
, созданный в веб-браузере, и он отлично работает.
Я могу вручную ввести &page=1
, &page=2
, &page=3
, и он вернет правильные страницы. Каким-то образом добавление приращения к нему приводит в замешательство.
Это как-то связано с сессиями или как? Я уверен, что закрываю и поток, и ридер, прежде чем он снова зациклится ...