2009-06-03 3 views
0

내 응용 프로그램이 수많은 HttpWebRequest을 수행하고 있으며 일부는 때때로 실패합니다. 응답을받을 바이트뿐만 아니라 요청을 수행 할 때마다 PC에서 나가는 바이트를 덤프하고 싶습니다.디버깅 목적으로 WebRequest 전송을 덤프 하시겠습니까?

내 코드에서 쉽게 수행 할 수 있습니까?

다른 방법을 사용할 수없는 경우 Wireshark와 같은 것을 사용하고 싶습니다. WinPcap 등을 설치하지 않고도 클라이언트 컴퓨터에서 사용할 수 있기를 바랍니다.

+0

Windows를 사용할 때 얼마나 단순한 것이 얼마나 놀라운지 놀라 울뿐입니다. 오버 엔지니어링 된 WebRequest 클래스는 요청 본문을 볼 방법이 없습니다 ??? Windows에는 루프백 인터페이스가 없으므로 Wireshark조차도 localhost에서는 불가능합니다. –

+0

@JoeKoberg의 싫어하는 사람은 증오 할거야 ...하지만 그 자체로는 절름발이가 아니기 때문에 (Windows의 경우 자체적 인 _ 무언가의 API (http://stackoverflow.com/questions/3561545))) 당신이 왜 윈도우가 쓰레기인지 보여주는 데 사용할 수 있습니다. –

답변

1

Fidller2를 확인하십시오. 예를 들어 뭔가 설치하고 있지만 wireshark와 관련있는 곳이 없기 때문에 훨씬 유용한 정보를 얻을 수 있습니다. 재생 가능한 시리즈에 스트림을 버릴 수있는 기능 포함.

+0

이것은 실제로 질문에 대답하지 않지만 그럼에도 불구하고 매우 도움이되었습니다. 기록을 위해 나는 질문이 묻는 것을 정확히 할 수있는 방법을 찾지 못했습니다. –

0

Microsoft의 NetMon이 있거나 Wireshark와 같은 WinPCap 기반 제품이 있다고합니다. Wireshark와 마찬가지로 HTTP에만 과도하게 사용됩니다.

다른 게시물에 따르면 Fiddler2은 HTTP 디버깅에 사용하기가 쉽습니다. 또한 NetMon/Wireshark를 사용하지 않는 HTTPS 디버깅에 유용합니다 ...

0

이제는 모든 응답 헤더와 본문을 지정된 파일로 덤프하는 클래스에 HttpWebRequest을 래핑하는 중입니다. 요청과 동일하지만 POST 요청에 대해서는 조금 어색합니다.

가장 나쁜 점은이 새로운 래퍼 클래스를 사용하기 위해 HttpWebRequest를 사용하는 모든 코드를 변경해야한다는 것입니다.하지만 그렇게 나쁘지는 않습니다.

+0

몇 달이 지났음에도 불구하고 랩핑 솔루션은 여러 가지 다른 것들도 쉽게 만들어주었습니다. 전반적으로 이것이 제 사용 사례에 대한 올바른 결정이라고 생각합니다. –

+0

우리에게 뼈를 던져 출력을 얻기 위해 어떤 메소드를 재정의해야하는지 언급하십시오. –

+0

@JoeKoberg 래퍼는'HttpWebRequest'에서 파생되지 않으므로 무시할 부분이 없습니다. 요청/응답에서 빠져 나올 수있는 정보를 기록합니다. –

관련 문제