一連の Web ページからデータを読み取るプログラムを作成しています。これは最初のページでは機能しますが、タイムアウトになるまで次のページからの応答を待っている間にハングします。1、2、140 などのページから読み始めても、最初のページは常に正常に読み取られますが、その後は読み取れません。
これは、Web サイトではユーザーが最初にログインする必要があるため、ページにアクセスするために必要な「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");
}
}