2015-02-01 3 views
1

피들러에서 우리는 OnBeforeRequestOnBeforeResponse과 같은 메서드를 가지고 있습니다. 요청이 서버로 전송 된 후 연결을 삭제하려고합니다. 서버에서 응답을 검색하고 싶지 않습니다. 현재 OnBeforeResponse 아래에서이 사이트에서 발견 한 다음 코드를 사용하여 연결을 중단합니다. 그러나 Fiddler 's WebView 서버에서 보낸 응답을 볼 수 있습니다. 즉, 피 들러가 내용을 다운로드하고 있지만 클라이언트로 전송하지 못했음을 의미합니다.피들러에서 요청을 보낸 후 연결 중단

if (oSession.uriContains("http://example.com")) { 
     oSession.oResponse.headers.HTTPResponseCode = 0; 
     oSession.oResponse.headers.HTTPResponseStatus = "0 Client Connection Dropped by script"; 
     oSession.state = SessionStates.Aborted; 
    } 

내가 바로 심지어 피들러의 웹보기에 내용을로드가 전송 된 후 연결을 중단하고하지 OnAfterRequest 방법 같은 것을에서 서버로 전송 한 후 연결을 끊도록 싶지만 못 찾았어요 그게 뭔가? 가능하니? 누구든지 올바른 방향으로 나를 가리킬 수 있습니다.

고맙습니다.

답변

0

왜 그런 말을하고 싶습니까?

코드 샘플은 원하는대로 수행 할 수 없습니다. 서버로부터 응답을 읽은 다음 클라이언트에 대한 연결을 종료합니다.

피들러에서 요청을 보낸 후에 서버 연결을 종료 할 수있는 유일한 방법은 SessionStates.ReadingResponse이 입력 된 oSession.OnStateChanged 이벤트 내부의 연결을 종료하는 것입니다. 그러나 이것은 거의 확실하게 당신이 기대하지 않는 부작용을 가지고 있습니다.

+0

답장을 보내 주셔서 감사합니다. 나는 서버에 여러 개의 요청을 보내고 충분히 빠를 필요가있는 스크립트를 만들고 싶다. 또한 다운로드 한 데이터를 조작 할 필요가 없기 때문에 제 경우의 응답을 다운로드하지 않으려 고합니다. 그러면 대역폭 사용이 줄어들고 요청 속도가 빨라집니다. 당신이 제안한 것에 대한 간단한 발췌 문장을 보여줄 수 있습니까? 그리고 어떤 종류의 부작용이 나는 이것으로부터 기대할 수 있습니다. 감사합니다 –

+0

시나리오를 처리하는 적절한 방법은'GET' 요청 대신 서버에'HEAD' 요청을 보내는 것입니다. – EricLaw

+0

'HEAD'는'GET' 요청의 대안이지만'POST' 요청으로 서버에 양식을 보내고 있습니다. HEAD 요청에 게시물 데이터를 보낼 수 없다고 생각합니다. 내가 틀렸다면 나를 바로 잡아주세요. OnStateChanged 이벤트 내 코드를 삽입 할 수있는 방법을 제안 할 수 있습니까? Fiddler의 스크립트 (규칙 ---> 사용자 정의 규칙)에서 이벤트를 찾을 수 없습니다. 나에게 큰 도움이 될 것입니다. 고맙습니다. –

관련 문제