2012-04-13 1 views
7

타사 항아리를 사용하는 Android 앱을 개발하고 있습니다. 해당 라이브러리에서 발급 한 HTTP 요청을 모니터하고 수정하려고합니다. iOS에서는 앱의 프로세스에서 발생하는 네트워크 요청을 검사하고 조작 할 수있는 사용자 정의 NSURLProtocol 클래스를 등록하여이를 수행 할 수 있습니다.iOS SDK의 NSURLProtocol에 대한 Android의 동일한 기능은 무엇입니까?

Android와 비슷한 기능이 있습니까? 나는 안드로이드 개발에 익숙하지 않지만이 문제에 대한 해결책을 찾지 못했다고 인정한다.

이 항아리의 소스가 없기 때문에 디 컴파일 링에 의존 할 수 없습니다.

내가 탐구 한 몇 가지 :

  • 안드로이드 컨텐트 프로. 솔루션은 "content : //"요청이 아닌 "http : //"요청을 지원해야하므로 작동하지 않습니다.
  • 맞춤형 org.apache.http.impl.client.DefaultHTTPClient 클래스 만들기. (이것은 내가 후속 요청에 사용되는 기본 네트워킹 클래스입니다.) 안드로이드가이 클래스의 시스템 버전을 캐시하고 더 높게 설정되어 있어도 항상 내 대신로드합니다. 로드 순서대로.

내가 꽤 잘 아파치 HTTP 라이브러리를 통해 검토 한 결과, 그것은 나를 훨씬 좋은하지 않습니다 HttpRequestInterceptor, HttpResponseInterceptor 클래스와 같은 모든 종류의 것들을 가지고있는 동안 라이브러리가 DefaultHTTPClient 예 및 양수인을 인스턴스화하기 때문에 그것은 내가 접근 할 수없는 개인적인 방법으로 개인 회원에게.

내 궁극적 인 목표는 단위 테스트 목적으로 이러한 요청을 모니터링하고 변경하는 것입니다. 나는 진짜 요구가 발행되는 것을 원하지 않는다; 나는 모의 답변을하고 싶다.

답변

2

안타깝게도 안드로이드 앱에서 사용할 수있는 이러한 종류의 앱 차원 차단 프레임 워크는 없습니다.

내 제안은 요청을 가로 채고 모의 응답을 제공하는 프록시를 설정하는 것입니다.