이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 241781|회답: 55

[콘솔 프로그램] .NET/C#은 FiddlerCore4를 사용하여 HTTP 요청을 가로채고 수정합니다

  [링크 복사]
게시됨 2020. 12. 20. 오후 1:39:53 | | | |
최신 FiddlerCoreAPIFreeSetup은 새 dll 파일을 캡처하고 설치 후 사용하며, Fiddler의 http 맞춤 인터셉션 처리 라이브러리인 FiddlerCore는 현재 .NET 클래스 라이브러리로 제공되며, 모든 .NET 애플리케이션에서 사용할 수 있습니다. FiddlerCore는 테스트 자동화와 같이 사용자 인터페이스 없이 실행되는 전용 애플리케이션이나 Fiddler Addon이 포함하지 않는 UI(예: WPF 트래픽 시각화)를 위한 UI를 위해 설계되었습니다.

FiddlerCore는 현재 유료로 전환했지만, 요금 이전에는 30일 제한이 없는 여러 새로운 .NET 표준이 베타로 출시되었습니다. 전체 SDK와 데모가 제공됩니다. 다운로드 주소는 다음과 같습니다:

FiddlerCoreAPIFree_4_6_20191_7809.zip 다운로드
하이퍼링크 로그인이 보입니다.

FiddlerCore45.dll 클래스 라이브러리를 참조하는 새로운 .NET 4.6.2 콘솔 프로젝트인 HttpCapture를 생성하세요. 클래스는 위에서 다운로드하여 얻을 수 있습니다.

피들러 행사는 다음과 같습니다:

//
        요약:
        이 이벤트는 세션이 완료되면 발생합니다
        공개 정적 이벤트 SessionStateHandler AfterSessionComplete;
        //
        요약:
        이 이벤트는 Fiddler가 WebSocket 메시지를 캡처할 때 발생합니다
        공개 정적 이벤트 EventHandler<WebSocketMessageEventArgs> OnWebSocketMessage;
        [코드설명("이 이벤트가 HTTPS 인증서를 발송합니다."]
        공개 정적 이벤트 EventHandler<ValidateServerCertificateEventArgs> OnValidateServerCertificate;
        //
        요약:
        이 이벤트는 응답 헤더가 사용 가능할 때 발생합니다
        공개 정적 이벤트 세션 상태 핸들러 응답헤더 사용 가능;
        //
        요약:
        이 이벤트는 요청 헤더가 사용 가능할 때 발생합니다
        public static event SessionStateHandler RequestHeadersAvailable;
        //
        요약:
        이 이벤트는 Fiddler가 서버 응답을 받을 때 발생합니다
        공개 정적 이벤트 SessionStateHandler BeforeResponse;
        //
        요약:
        이 이벤트는 Fiddler가 클라이언트 요청을 접수하면 발생합니다
        공개 정적 이벤트 SessionStateHandler BeforeRequest;
        //
        요약:
        이 이벤트는 FiddlerCore가 클라이언트의 데이터를 네트워크에서 읽을 때마다 발생합니다
        요청. 이 데이터는 어떤 형식도 갖추지 않았으며, 반드시 구문 분석되어야 한다는 점에 유의하세요
        수신자가 말이죠.
        공개 정적 이벤트 이벤트핸들러<RawReadEventArgs> OnReadRequestBuffer;
        //
        요약:
        이 이벤트는 FiddlerCore가 서버의 데이터를 네트워크에서 읽을 때마다 발생합니다.
        응답. 이 데이터는 어떤 형식도 갖추지 않았으며, 반드시 구문 분석되어야 한다는 점에 유의하세요
        수신자가 말이죠.
        공개 정적 이벤트 EventHandler<RawReadEventArgs> OnReadResponseBuffer;
        [코드설명("사용자가 피들러에게 캐시나 쿠키를 지우라고 지시할 때 이 이벤트가 발생한다."]
        공개 정적 이벤트<CacheClearEventArgs> EventHandler OnClearCache;
        //
        요약:
        FiddlerCore가 시스템 프록시로 연결되었을 때 알림을 받도록 이 이벤트를 동기화하세요.")
        [CodeDescription("FiddlerCore가 시스템 프록시로 연결되었을 때 알림을 받을 수 있도록 이 이벤트를 동기화하세요."]
        [구식("Telerik.NetworkConnections.NetworkConnectionsManager를 사용해 주세요."]
        공개 정적 이벤트 SimpleEventHandler FiddlerAttach;
        //
        요약:
        이 이벤트를 동기화하여 FiddlerCore가 시스템 프록시에서 분리되었을 때 알림을 받도록 하세요.
        [CodeDescription("FiddlerCore가 시스템 프록시에서 분리되었을 때 이 이벤트를 동기화하여 알림을 받아야 한다.")]
        [구식("Telerik.NetworkConnections.NetworkConnectionsManager를 사용해 주세요."]
        공개 정적 이벤트 SimpleEventHandler FiddlerDetach;
        [코드설명("이 이벤트는 사용자 알림이 표시될 때 발생합니다. CONFIG를 참고하세요. QuietMode 속성.")
        공개 정적 이벤트<NotificationEventArgs> EventHandler OnNotification;
        //
        요약:
        이 이벤트는 Fiddler가 오류 응답을 생성할 때 발생합니다
        public static event SessionStateHandler BeforeReturningError;
        //
        요약:
        Fiddler가 TCP/IP 연결을 성공적으로 수락할 때마다 발화됩니다
        공개 정적 이벤트 EventHandler<ConnectionEventArgs> AfterSocketAccept;
        //
        요약:
        Fiddler가 TCP/IP 연결을 성공적으로 구축할 때마다 발화됩니다
        공개 정적 이벤트 EventHandler<ConnectionEventArgs> AfterSocketConnect;

일반적으로 사용되는 이벤트는 BeforeRequest, BeforeResponse, AfterSessionComplete입니다.

HTTPS 요청을 차단하려면 인증서를 설치해야 하며, 코드는 다음과 같습니다:

첨부된 코드는 인증서 존재 여부를 확인하는 코드입니다:

우리가 달성한 결과는 다음과 같습니다:

1. 요격www.itsvse.com사이트 요청은 JSON 콘텐츠를 직접 반환합니다.
2. down.itsvse.com 사이트를 차단하고, 응답 후 "Uploaded by"를 "Uploaded by"로 바꾸세요.

코드는 다음과 같습니다:

그 다음 코드 설정과 함께 수동으로 ie 에이전트 127.0.0.1:9099를 설정하는데, 다음과 같습니다:

.NET/C#으로 시스템 IE 프록시를 설정하세요
https://www.itsvse.com/thread-9495-1-1.html

렌더링은 다음과 같습니다:



참고: 응답 후 콘텐츠를 수정할 때는 BeforeRequest 이벤트에서 세션을 설정해야 합니다session.bBufferResponse = true;, 그렇지 않으면 답변 내용을 수정할 수 없습니다!

소스 코드 다운로드:

관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다회답


(끝)





이전의:ASP.NET 현재 웹사이트 소스 코드의 MVC 온라인 디컴파일
다음:요청 형식은 URL이 뜻밖에 "/itsvse"로 끝나기 때문에 인식되지 않습니다.
 집주인| 게시됨 2023. 6. 30. 오후 8:07:39 |
증명서에 대하여:

게시됨 2022. 3. 6. 오전 10:33:30 |
아주 좋아요                       
 집주인| 게시됨 2023. 6. 28. 오후 5:11:09 |
fiddler가 로컬 localhost, 127.0.0.1 네트워크 요청을 크롤링할 수 없는 문제를 해결했습니다
https://www.itsvse.com/thread-9137-1-1.html
게시됨 2020. 12. 23. 오후 8:51:15 |
답변 후 내용을 수정할 때
게시됨 2021. 2. 25. 오후 7:39:28 |

답변 후 내용을 수정할 때
게시됨 2021. 3. 1. 오후 1:03:56 |
FiddlerCoreStartupSettingsBuilder의 네임스페이스
게시됨 2021. 3. 13. 오후 3:15:48 |
소스 코드를 배우기
게시됨 2021. 3. 31. 오후 5:15:20 |
공부하고 살펴보세요
게시됨 2021. 4. 7. 오후 6:09:31 |
하루 종일 찾아본 끝에, 드디어 제 필요에 맞는 곳을 찾았습니다
게시됨 2021. 5. 5. 오후 4:28:11 |
ie 프록시 127.0.0.1:9099를 이동하는 것도 가능합니다
게시됨 2021. 6. 4. 오전 11:27:23 |
333333333333333333
게시됨 2021. 6. 21. 오전 12:33:29 |
session.bBufferResponse = true; 설정이 꼭 필요한가요?
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com