Fiddler 디버깅에 대한 ReadResponse() failed 문제
1810 단어 디버깅
최근 Fiddler를 사용하여 애플리케이션을 분석하는 동안 다음과 같은 오류가 발생했습니다.
[Fiddler] ReadResponse() failed: The server did not return a complete response for this request.
이 덩어리에 대해 특별히 익숙하지 않아서 당분간 실마리가 없을 것이다.이 오류 설명에 따르면 서버가 데이터를 보내지 않은 것으로 보인다.이 원인은 매우 많다. 일반적으로 서버는 응답 조작을 해서는 안 된다고 여긴다.인터넷에서 자료를 찾았는데 권한 설정이 정확하지 않다고 했지만 저는 이런 상황이 있어서는 안 됩니다. 저는 Fiddler를 걸 때만 서버와 통신할 수 없는 상황이 발생했습니다. 그러면 Fiddler의 문제라고 단정합니다.
Fiddler 설정을 잠시 찾았지만 해결할 수 없었습니다. 갑자기 앱이 보낸 가방을 보았습니다.
POST HTTP/1.1
Content-Length: 38
Content-Type: application/x-www-form-urlencoded
Host: ( )
Connection: Keep-Alive
User-Agent: android-async-http/1.4.4 (http://loopj.com/android-async-http)
Accept-Encoding: gzip
( )
Header의 첫 줄에 주소가 없는 것을 발견했습니다. 이 응용 프로그램은 정말 이상하게 썼습니다. HTTP 규범에 부합되는지 모르겠습니다.FiddlerScript를 찾아 OnBeforeRequest 함수에 다음 코드를 추가하는 방법을 모색합니다.
//
if (oSession.url == "http://( )")
{
oSession.url = "http://( )/";
}
즐겁게 테스트를 하고 504 Fiddler와 관련된 오류와 400 BadRequest를 되돌려줍니다.Session::url 형식을 몰라서 문제가 생겼을 수도 있습니다.
먼저 주석을 달고, 그 다음에 방법을 바꾸어 AutoResponder에 Rule를 추가하여 방향을 바꾸어 문제를 해결했다.
후기
Fiddler Script의 예 문서에서 다음과 같은 사용법을 찾았습니다.
if (oSession.url=="www.example.com/live.js") {
oSession.url = "dev.example.com/workinprogress.js";
}
원래는 "http://"를 넣을 필요가 없었는데...
RFC2616, 5.1.2 섹션을 조회하려면 다음과 같이 하십시오.
5.1.2 Request-URI Request-URI = "*"| absoluteURI | abs_path | authority Note that the absolute path cannot be empty; if none is present in the original URI, it MUST be given as "/"(the server root).
이 설명에 따르면, 이 응용 프로그램이 보낸 요청은 규범에 부합되지 않는다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[번역] VSCode에서 Electron의 메인 프로세스와 렌더러 프로세스를 동시에 디버깅하는 방법Electron에는 NodeJS 내에서 실행되는 메인 프로세스(Main process)와 Chromium 내에서 실행되는 렌더러 프로세스(Renderer process)라는 2 종류의 프로세스가 있어, 각각에 다른 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.