2010-08-16 4 views

답변

5

Fiddler에 대해 생각해 보셨나요? 그들은 심지어 이것을 위해 사용할 수있는 API을 가지고 있습니다.

편집

당신은 응답 정보를 얻기 위해 Navigated event 또는 LoadCompleted event를 사용하여 시도 할 수 있습니다. 요청 정보에 Navigating event을 사용할 수 있습니다. 이러한 이벤트는 비동기 요청에서 발생할 수 있지만 확실하지 않습니다.

편집은 역습

그럼 난 위의 이벤트를 사용하여 몇 가지 테스트를했고, 나는 아무것도 없어 걱정입니다. 그 사건들은 제가 사용할 수있는 어떤 것도주지 못했습니다. 그들은 webresponse 및 webrequest에 액세스 할 수 있었지만, 테스트에서는 항상 null/null이었습니다.

슬픈 현실은 웹 브라우저 컨트롤이 원하는 방식으로 사용되지 않았다는 것입니다. 웹 페이지/데이터를 제공하기위한 용도 일 뿐이며 데이터를 살펴볼 수있는 액세스 권한을 제공하지 않습니다. 나는 그들이 C.Y.A. 누군가가 악성 코드/스파이웨어 브라우저를 만들지 못하도록 조치하십시오.

가장 좋은 방법은 웹 브라우저를 피들러 (또는 다른 '스니핑'라이브러리)와 연결하는 것입니다.

+0

나는 종류의 I는 웹 브라우저 컨트롤에서 캡처 할 수있는 몇 가지 이벤트가 있다고 기대했다. –

+0

에 대한 'Edit Against Strikes Back'결과와 같은 말을하고 싶었습니다. WebClient 클래스를 사용하여 요청을 한 다음 브라우저 컨트롤을 사용하여 결과를 표시하는 방법에 대해 어떻게 생각하십니까? 나는 경험할 시간이별로 없지만 그것이 나의 다음 단계라고 생각한다. –

+0

OpenRead (webclient에서)를 사용하여 NavigateToStream (webbrowser에서)을 사용할 수 있지만 사용할 이벤트가 확실하지 않습니다. 테스트 할 재미있는 것 같습니다. –

4

이 작업을 수행하는 또 다른 방법은 사용자 자신의 Asynchronous Pluggable Protocol 처리기를 구현하는 것입니다.하지만 이것은 간단한 작업이 아닙니다. 기본적으로 APP는 Internet Explorer가 URLMON을 통해 URL에서 데이터를 다운로드하는 데 사용되는 메커니즘입니다. URLMON이 사용하는 기본 핸들러를 대체하는 APP를 구현하여 모든 요청과 응답을 제어 할 수 있습니다.

기본 처리기를 바꾸는 대신이 처리기를 랩핑하는 APP를 구현할 수도 있습니다. 일반적으로 언급되는 예제는 Igor Tandetnik이 만든 PassThroughAPP이며 이와 같은 방법으로 수행 할 수 있습니다. 이 코드 프로젝트 article에서 C# 구현을 찾을 수도 있습니다. 나는 당신이 가장 관심을 가질 인터페이스가 IHttpNegotiate이고 클라이언트가 요청 및 응답 헤더를 검사 할 수있게하는 OnResponse 메서드라고 생각한다.

PassThroughApp에는 몇 가지 문제가 있으며 가능한 자세한 해결책은 here입니다. 몇 가지 리소스가 아래에 포함되어 있습니다.

http://support.microsoft.com/?id=kb;en-us;303740 http://www.codeproject.com/KB/aspnet/AspxProtocol.aspx

관련 문제