Android 에뮬레이터의 네트워크 트래픽을 프록시하고 싶습니다.com.android.volley.NoConnectionError - Charles 프록시가있는 Android 에뮬레이터
나는 작동하지 않을 것 같습니다.
내 에뮬레이터는이를 사용하여 부팅 :
emulator @Nexus_5X_API_23 -http-proxy 10.0.1.17:8888
IP와 포트 포인트를 찰스 도움말 메뉴에서보고 무엇을.
SSL 인증서가 설치되어 있습니다. 에뮬레이터 브라우저를 열면 Charles가 나에게 모든 트래픽을 보여줍니다. 평소와 같이 브라우저가 업데이트됩니다.
모두 좋아 보인다.
이제 앱을 실행하려고합니다. 첫 번째 네트워크 호출은 Charles를 통해 성공적으로 종료됩니다. 응답은 돌려 보내고 찰리는 그것을 표시한다. 그러나 응답이 성공적으로 응용 프로그램에 전달되지 않습니다.
오류 콜백에 중단 점을 설정했으며 java.io.IOException: unexpected end of stream on Connection
에 의해 발생하는 com.android.volley.NoConnectionError
을 볼 수 있습니다.
왜 Charles가 결과를 다시 앱으로 올바르게 전달하지 않습니까?
the end of the configuration page on Charles에 정의 된 것을 수행해야합니까?
HttpHost httpproxy = new HttpHost("192.168.0.101", 8888, "http");
httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,httpproxy);
이것은 올바르지 않은 것 같습니다. 무엇이 누락 되었습니까?
당신은 SSL 인증서에 대해 얘기인가? 아니면 SSL로 보호 된 웹 사이트에 연결하려고합니까? – Jehy
https 트래픽을 모니터링하려면 Fiddler를 사용하는 것이 좋습니다.이 점에서 더 편리합니다. – suitianshi
HttpStack은 무엇을 사용합니까? 에뮬레이터를 시작할 때 -verbose-proxy를 추가하고 질문에 출력을 추가하십시오. – djodjo