아래글에서는 WebView와 웹서버간의 HTTP 통신내용을 모니터링하는 방법을 설명했습니다. 이번에는 Spring-Android 라이브러리를 이용하여 앱과 웹서버간에 REST로 통신하는 경우에 통신 내용을 엿보는 방법입니다.
아래글에서 지적했듯이 개발자 PC의 IP주소에 localhost나 127.0.0.1 루프백 주소를 쓰면 안됩니다.
이클립스 TCP/IP 모니터 뷰 설정하는 방법은 아래글과 동일합니다.
실제 앱 개발시에는 위와 같이 프록시를 설정한 RestTemplate 인스턴스를 공통모듈단에서 한개만 만들어놓고 재사용하면 됩니다.
import org.apache.http.HttpHost;
import org.apache.http.conn.params.ConnRoutePNames;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
...
public class MyRestActivity extends Activity {
public xxx someMethod() {
RestTemplate restTemplate = new RestTemplate();
... ...
if (isDebugMode(this.getApplicationContext())) {
HttpComponentsClientHttpRequestFactory factory =
(HttpComponentsClientHttpRequestFactory) restTemplate.getRequestFactory();
(HttpComponentsClientHttpRequestFactory) restTemplate.getRequestFactory();
HttpHost proxy = new HttpHost("본인로컬PC의 IP주소", 프록시포트, "http");
factory.getHttpClient().getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
}
... ...
ResponseEntity<Xxx> result = restTemplate.exchange(url, HttpMethod.POST, requestEntity, Xxx.class);
... ...
ResponseEntity<Xxx> result = restTemplate.exchange(url, HttpMethod.POST, requestEntity, Xxx.class);
... ...
}
}
아래글에서 지적했듯이 개발자 PC의 IP주소에 localhost나 127.0.0.1 루프백 주소를 쓰면 안됩니다.
이클립스 TCP/IP 모니터 뷰 설정하는 방법은 아래글과 동일합니다.
실제 앱 개발시에는 위와 같이 프록시를 설정한 RestTemplate 인스턴스를 공통모듈단에서 한개만 만들어놓고 재사용하면 됩니다.
'Android' 카테고리의 다른 글
[안드로이드] AspectJ 사용시 ProGuard 설정 (0) | 2012.04.06 |
---|---|
[안드로이드] Jackson JSON 사용시 ProGuard 설정 (0) | 2012.04.04 |
[안드로이드] WebView와 웹서버간 HTTP 통신내용 엿보기 (0) | 2011.07.14 |
[안드로이드] Ant로 앱빌드시 서명용 비밀번호 자동입력 (0) | 2011.07.09 |
[안드로이드] 간단한 빈(Bean) 컨테이너 만들기 (0) | 2011.07.09 |