Fiddler 대 해석!죄송합니다. 가방 을 잘 잡 으 면 정말 하고 싶 은 대로 할 수 있 습 니 다.

포럼https://www.52pojie.cn/thread-854434-1-1.html
Fiddler 의 저자
  • Fiddler 의 저 자 는 Eric Lawrence 가 대가 급 인물 이다. 현재 마이크로소프트 본사 시애틀 에서 일 하고 있다.그의 블 로 그 는: http://www.ericlawrence.com/Eric/
  • 블 로그 에서 그의 이력서 와 생활 사진 을 볼 수 있 습 니 다.
  • Fiddler 의 소개
  • Fiddler 는 강력 한 패키지 도구 입 니 다. 그 원 리 는 웹 세대 {과} {여과} 서버 형식 으로 작업 하 는 것 입 니 다. 사용 하 는 세대 {과} {여과} 주 소 는 127.0.0.1 이 고 포트 는 기본적으로 8888 이 며 설정 을 통 해 수정 할 수 있 습 니 다.
  • 대 {과} {여과} 리 는 클 라 이언 트 와 서버 사이 에 관문 을 설정 하 는 것 입 니 다. 클 라 이언 트 가 먼저 요청 데 이 터 를 보 낸 후에 {과} {여과} 리 서버 는 패 킷 을 차단 하고 {과} {여과} 리 서버 는 클 라 이언 트 를 사칭 하여 서버 에 데 이 터 를 보 냅 니 다.마찬가지 로 서버 는 응답 데 이 터 를 되 돌려 줍 니 다. {과} {여과} 서버 도 데 이 터 를 차단 하고 클 라 이언 트 에 게 되 돌려 줍 니 다.
  • Fiddler 는 http 세대 {과} {여과} 을 지원 하 는 임의의 프로그램의 패 키 지 를 캡 처 할 수 있 습 니 다. https 세 션 을 캡 처 하려 면 인증 서 를 설치 해 야 합 니 다.

  • 이 두 가 지 를 명심 하 시기 바 랍 니 다.다음은 Fiddler 의 강력 한 곳 중 하나 인 Fiddler Script 를 소개 합 니 다.
    포럼 에는 Fiddler 의 사용 튜 토리 얼 이 많 으 니 더 이상 말 하지 않 겠 습 니 다.하지만 가장 강력 한 스 크 립 트 기능 에 대해 서 는 아무 도 말 하지 않 았 다!
    Fiddler 는 Http Request 와 Response 를 자동 으로 수정 할 수 있 는 스 크 립 트 파일 을 포함 하고 있 습 니 다. 그러면 수 동 으로 '정지점' 을 수정 할 필요 가 없습니다. 실제로 스 크 립 트 파일 CustomRules. js 입 니 다.  위치: C: \ \ Documents and Settings \ \ [your user] \ My Documents \ \ Fiddler 2 \ \ Scripts \ \ CustomRules. js 에서 도 Fiddler 에서 CustomRules. js 파일 을 열 수 있 습 니 다.  Fiddler 를 시작 하고 메뉴 Rules - > Customize Rules 를 누 르 십시오... Fiddler Script 의 공식 도움말 문 서 는 열심히 읽 어야 합 니 다. 주 소 는:http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp
    상식: Fiddler Script 는 JScript. NET 언어 로 쓴 것 그렇다면 Fiddler Script 는 도대체 무슨 소 용이 있 습 니까?제 가 여기 서 여러분 이 틀림없이 겪 었 을 문제 들 을 열거 하 겠 습 니 다.
    장면 1: 하나의 비용 지불 검증, 비용 지불 여 부 는 json 으로 돌아 갑 니 다.안에 타임 스탬프 와 false 가 있 습 니 다.시간 스탬프 와 클 라 이언 트 가 일치 하지 않 으 면 해독 에 실 패 했 습 니 다.그러면 제 이 슨 의 일부 인자 만 바 꾸 고 클 라 이언 트 에 게 돌아 갈 수 있 는 기능 이 있 을 까?그래서 우 리 는 script 을 사용 해 야 합 니 다!코드 는 다음 과 같 습 니 다. 예 를 들 어 json 이 이 내용 인 경우 baidu. com 은 [name: 나 는 해독 을 좋아 하고 비용 을 지불 합 니 다: false] 를 되 돌려 주 었 습 니 다.
    if (oSession.fullUrl.Contains("http://www.baidu.com"))
             {
    
                 //   Response Body、Request Body JSON   ,       JSONObject  
                 var responseStringOriginal =  oSession.GetResponseBodyAsString();
                 var responseJSON = Fiddler.WebFormats.JSON.JsonDecode(responseStringOriginal);
                 var requestStringOriginal=oSession.GetRequestBodyAsString();
                 var requestJSON = Fiddler.WebFormats.JSON.JsonDecode(requestStringOriginal);
                 ){ //     , type 1,         
    
                     responseJSON.JSONObject['  '] = "true";
                     //     Response Body
                     var responseStringDestinal = Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject);
                     oSession.utilSetResponseBody(responseStringDestinal);
                 }
             }
    }

    상기 코드 를 통 해 baidu 에서 데 이 터 를 되 돌려 줄 때마다 자동 으로 비용 을 true 로 바 꾸 어 해독 효 과 를 얻 을 수 있 습 니 다. 
    장면 2: 저 는 request 의 Body 안의 일부 인 자 를 수정 하고 싶 습 니 다. 매번 에 정지점 을 내 린 다음 에 수정 한 다음 에 제출 하고 싶 습 니 다. 항상 네트워크 시간 이 초과 되 거나 앱 이 시간 을 초과 합 니 다.이거 어 떡 하지?설마 손 으로 만 속 도 를 낼 수 있 단 말 인가?
        if(oSession.uriContains("http://www.baidu.com"))     {         var strBody = oSession. GetRequestBodyAsString (); / Request 의 body 문자열 가 져 오기        strBody = strBody. replace ("false", "true"); / / 정규 표현 식 이나 replace 방법 으로 string 을 수정 하고 false 를 true 로 변경 합 니 다.        FiddlerObject. alert (strBody); / 수 정 된 body 를 확인 하기 위해 대화 상 자 를 연주 합 니 다.          oSession. utilSetRequestBody (strBody); / 수 정 된 body 를 Request 에 다시 씁 니 다.    }
    장면 3: 저 는 쿠키 를 수정 하고 비용 을 지불 한 쿠키 로 바 꾸 려 고 합 니 다. 그러나 실시 간 으로 생 성 되 어야 합 니 다. 손 으로 속 도 를 낼 수 없습니다. 어떻게 해 야 합 니까?
      if (oSession.HostnameIs('www.baidu.com') && oSession.uriContains('pagewithCookie') && oSession.oRequest.headers.Contains("Cookie"))       {  var sCookie = oSession.oRequest["Cookie"];       //  replace 방법 이나 정규 표현 식 방법 으로 쿠키 의 string 을 조작 합 니 다.     sCookie = sCookie. Replace ("지불 = false", "지불 = true");       oSession.oRequest["Cookie"] = sCookie;
    장면 4: 그 가 구체 적 으로 어떤 사 이 트 를 요 청 했 는 지 알 고 싶 습 니 다. 검색 속도 가 너무 느 립 니 다. 여과 도 느 립 니 다.
    if (oSession.HostnameIs("www.baidu.com")) {             oSession["ui-color"] = "red";         }
    장면 5: 특정한 인터페이스의 데 이 터 를 로 컬 에 자동 으로 저장 하려 고 하 는데 어떻게 해 야 실현 할 수 있 습 니까?
    if (oSession.fullUrl.Contains("www.baidu.com/playurl/v1/") ){                           oSession. utilDecodeResponse (); / / 저 장 된 요청 을 제거 하 는 데 오류 가 있 을 수 있 습 니 다.                        var fso;                         var file;                         fso = new ActiveXObject("Scripting.FileSystemObject");                         //파일 저장 경로, 사용자 정의 가능                        file = fso.OpenTextFile("D:\\Sessions.txt",8 ,true, true);                         //file.writeLine("Response code: " + oSession.responseCode);                         file.writeLine("Response body: " + oSession.GetResponseBodyAsString());                         file.writeLine("");                         file.close();                 }
    -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 이상 은 Fiddler script 이 자주 사용 하 는 기능 입 니 다. 여러분 께 무료 로 바 칩 니 다. 직접 복사 해서 사용 할 수 있 습 니 다.

    좋은 웹페이지 즐겨찾기