일련의 웹 페이지에서 데이터를 읽는 프로그램을 작성하고 있습니다. 이것은 첫 번째 페이지에서 작동하지만 시간이 초과 될 때까지 다음 페이지의 응답을 기다리는 동안 멈 춥니 다. 내가 1 페이지, 2 페이지, 140 페이지 등을 읽음으로써 시작하든 항상 첫번째 페이지를 읽지 만 그 이후에는 아무 것도 읽지 못합니다.WebResponse Timeout
나는 이것이 웹 사이트가 사용자가 먼저 로그인해야하기 때문에 페이지에 액세스하는 데 필요한 "cookieHeader"변수와 관련 있다고 생각합니다. 그러나이 요소를 검사 할 때 만료 시간은 다음날로 설정되므로 아직 만료 될 수는 없습니다.
저는이 문제에 익숙하지 않기 때문에 이전에이 문제가 발생했거나 쿠키를 더 잘 이해 한 사람이 나를 도울 수 있기를 바랍니다. 나는 어떤 의견을 주셔서 감사하겠습니다! 다음은 타임 아웃 오류가 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");
}
}
요청이 실패하는 경우가 있습니다. 도우미 메서드를 요청하고 try-catch를 3 번 시도해 궁극적으로 예외를 다시 시도 할 수 있습니다. 다시 시도하면 아무런 도움이 안됨을 나타냅니다. – SimpleVar
그것은 일정한 것 같습니다; 첫 번째 페이지를 읽은 후에 다른 모든 페이지가 실패하고 실패하기 전에 시간이 오래 걸리므로 재 시도하는 데 시간이 많이 걸릴 수 있습니다 (현재 5 페이지가 실패한 6 페이지에서 약 7 분이 걸리고 읽는 페이지가 100 개 이상 있습니다).) – user1959309
Fiddler (http://www.telerik.com/download/fiddler)는 보내지고 돌려 보내지는 것을 분류하는 데 도움이 될 것입니다. 아마도 두 번째 GET에 문제가있을 것이고 피들러 (fiddler)는 당신이 누락 된 부분을 보도록 도와 줄 것입니다. –