-
RestTemplat 등 jvm 패킷 피들러로 디버깅 하기개발/Java 2022. 3. 24. 13:17
restTemplat을 사용하여 api 연계하는 도중 restTemplat으로 보내는 요청도 피들러로 확인을 하고 싶었다
만약 api 개발을 한다면 이런 경우가 많을 것 같아서 방법이 없나 찾아 봤더니 피들러 홈페이지에 답이 있었다
피들러나 네트워크로 RestTemplat, WebClinet 등 jvm에서 보내는 요청에 대한 패킷은 일반적으로 보이지 않는다
따라서 피들러로 해당 요청에 관한 내용을 보고 싶은 경우 따로 proxy 설정을 해줘야 한다
1. jvm 으로 설정하는 방법
jre -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 MyApp jre -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 MyApp
2. 소스코드를 변경해서 설정하는 방법
https 인 경우 System.setProperty("http.proxyHost", "127.0.0.1"); System.setProperty("https.proxyHost", "127.0.0.1"); http인 경우 System.setProperty("http.proxyPort", "8888"); System.setProperty("https.proxyPort", "8888");
jvm을 바꾸는것 보다는 그냥 아래처럼 만들어서 테스트 할 코드에서 호출한 후 피들러로 확인 하는게 편한것 같다
void enableProxy() { System.setProperty("http.proxyHost", "127.0.0.1"); System.setProperty("http.proxyPort", "8888"); }
참고
https://docs.telerik.com/fiddler/configure-fiddler/tasks/configurejavaapp