2013-04-20 1 views
0

WebRequest 또는 WebBrowser 컨트롤을 사용하여 세션을 활성 상태로 유지하려고합니다. 일부 웹 사이트에서는 문제없이 작동하지만 30 분이 지나면 특정 웹 사이트에서 저를 로깅합니다.WebRequest 또는 WebBrowser 컨트롤을 사용하여 C#에서 웹 사이트 세션을 활성 상태로 유지 하시겠습니까?

현재 내가하는 일은 WebBrowser 컨트롤의 NavigateTo 기능을 사용하여 임의의 간격 (1-10 분)으로 웹 사이트 페이지 중 하나를 요청하는 것입니다. 웹 사이트는 captcha 로그인이므로 먼저 사용자에게 로그인을 요청한 다음 쿠키를 가져와 WebRequest 요청에 사용하고 WebBrowser 컨트롤을 다시 사용하여 웹 사이트를 유지합니다 (WebBrowser 및 WebRequest 클라이언트는 동일한 쿠키를 공유합니다).

나는 아이디어를 찾고 있습니다 만, 아마도 누군가 나를 도울 수 있습니다. 미리 감사드립니다.

+0

그냥 같은 쿠키를 재생에서 * 당신 * 사이트를 보호하고 특정 웹 사이트 구현 방법은 당신이 올 것입니다 있는지 확인하기 위해 무엇을 할 것이라고 생각 ... 잠시 후 일부 항목이 오래 걸립니다 ... –

답변

0

일반적으로 세션 시간 초과는 클라이언트 측과 서버 측 또는 서버 측이므로 모두 할 수있는 일은 없습니다. 운이 좋다면, 문제의 사이트는 클라이언트 쪽 인 쿠키 시간 제한에 의존합니다. 그렇다면 HttpCookie.Expires으로 놀 수 있습니다.

이것은 아마도 만료이 안될 수 있기 때문입니다 :

HttpCookie cookie = ...; 
cookie.Expires = default(DateTime); 
+0

쿠키가 기본적으로 이미 기본적으로 (DateTime)이었습니다. 이제 Datetime.now + 일주일에 쿠키를 설정합니다. 나는 그것이 도움이되었다라고 생각한다, 나는 약간의 시간 이후 그러나 아직도 떼어 놓게되었다. 그러나 그것은 더 길을 길게 계속했다. 나는 여전히 다른 생각을 찾고있다. – Lasty01

+0

'default (DateTime)'은 만기가 없음을 의미해야합니다. 여전히 발생하는 시간 초과는 쿠키를 삭제하는 코드 또는 서버 측 만료로 인한 것입니다. 프로세스의 어딘가에 HttpCookie 객체가 손실되지 않았는지 다시 확인하십시오. – Zenexer

관련 문제