FiddlerCore를 구문 분석하려고하는 사이트에서 이상한 응답이 나타납니다. 크롬 개발자 도구에서 응답을 검사하면 정상적으로 보입니다. 피 들러에서는 그렇지 않습니다. (제대로 작동하는 데 사용) 다음과 같이 코드FiddlerCore가 SDH 응답을 디코딩
String html = oSession.GetResponseBodyAsString();
은이 샘플이 아닌 전체 큰 문자열입니다주의, HTML되지 않습니다를 돌려줍니다. 다음과 같이
JRHwJNeR\0���\0\0\u0001��D\0�2�\b\0�\u0016�7]<!DOCTYPE html>\n win\">
그것은이
\n\n\n\n\n \n <meta name=\"treeID\" content=\"dwedxE+pgRQAWIHiFSsAAA==\">\n
응답 헤더와 같은 "\ n을"및 HTML 뒤덮 것입니다 :
Cache-Control:no-cache, no-store
Connection:keep-alive
Content-Encoding:sdch, gzip
Content-Language:en-US
Content-Type:text/html;charset=UTF-8
Date:Fri, 28 Oct 2016 10:17:02 GMT
Expires:Thu, 01 Jan 1970 00:00:00 GMT
Pragma:no-cache
Server:Apache-Coyote/1.1
Set-Cookie:lidc="b=VB87:g=518:u=60:i=1477649823:t=1477731496:s=AQG-LTdly5mcIjAtiRHIOrKE1TiRWW-l"; Expires=Sat, 29 Oct 2016 08:58:16 GMT; domain=.thedomain.com; Path=/
Set-Cookie:_lipt=deleteMe; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/
Strict-Transport-Security:max-age=0
Transfer-Encoding:chunked
Vary:Accept-Encoding, Avail-Dictionary
X-Content-Type-Options:nosniff
X-Frame-Options:sameorigin
X-FS-UUID:882b3366afaa811400a04937a92b0000
X-Li-Fabric:prod-lva1
X-Li-Pop:prod-tln1-scalable
X-LI-UUID:iCszZq+qgRQAoEk3qSsAAA==
X-XSS-Protection:1; mode=block
피들러 시작 코드 :
Fiddler.FiddlerApplication.AfterSessionComplete += FiddlerApplication_OnAfterSessionComplete;
Fiddler.FiddlerApplication.BeforeResponse += delegate(Fiddler.Session oS) {
oS.utilDecodeResponse();
};
Fiddler.FiddlerApplication.Startup(0, FiddlerCoreStartupFlags.Default);
}
처음에는 청크라고 가정했습니다. ed/gzipped 그래서 나는 utilDecodeResponse()를 추가했다; onBeforeResponse는 효과가 없었습니다!
나는 모든 응답을 수동으로 해독하려고 시도했다. UTF-8, Unicode, Bigendian 등의 응답 BreadBytes를 응답 해 보았을 때 응답 내용 유형이 잘못되어 javascript가 비활성화되어 페이지가로드되지 않았다는 것을 ' 어떤 펑키 한 templating thingy도 어떤 차이도 만들지 않았다.
아이디어가 있으십니까?
UPDATE는 다음
& NineBerry 용액 이하 개발자에 의해 제공된 정보와 광고에그대로 : SDCH 인 반응을 방지하기 위해
는 그렇게 같은 처리기를 추가 인코딩 :
Fiddler.FiddlerApplication.BeforeRequest += delegate (Fiddler.Session oS)
{
oS.oRequest["Accept-Encoding"] = "gzip, deflate, br";
};
SDCH가 있는지 확인한 다음 제거하는 대신 머리글을 수동으로 설정하기 때문에이 방법은 적합하지 않습니다. 하지만 피들러의 일반적인 프록시 기능을 사용하면 더 많은 논리를 원할 것입니다.
콘텐츠 인코딩은'sdch '로 표시됩니다. 도움이 되셨습니까? http://blog.endpoint.com/2009/07/sdch-shared-dictionary-compression-over.html – Developer
Oooo, 흥미로운 문서인데 피들러가 허용 된 인코딩 헤더를 거부/변경할 수 있음 –
나가서 다시 돌아 오면 문제, 게시 및 답변이 될 것이고 나는 잠시 후에 다시 돌아올 것입니다. –