[OSx 앱] Charlse Proxy와 모바일 앱 개발

이 글은 작년말(14년 12월)에 쓰다가 까먹고 공개하지 못한 글이네요. 현재 상태로 공개해도 큰 문제 없을 것 같아 남깁니다. 잘안되거나 궁금하신 사항은 답글로 알려주세요.

앱 개발하다보면 http request 및 response를 자세히 열어보고 싶을 때가 있습니다. (전문용어 : 까본다.) 내가 원한대로 잘 요청하고 있는지 앱이 죽었는데 혹시 http request 응답때문에 문제가 되는건 아닌지… 이럴때 Proxy를 사용하면 편리합니다. 윈도우에서는 피들러를 많이 쓰고 있을 겁니다. (웹 개발시에는 chrome 앱중에 proxy기능을 하는 것도 많이 있는 것으로 압니다.) 저는 OSx 사용자이다보니 Charlse를 사용합니다. 네 유료입니다. 오랫동안쓰고 있습니다. 돈 갑어치를 할겁니다. 다른건 딱히 써보지 않았지만 맥에서 앱 개발할때나 웹 개발할때 다 잘 쓸수 있어 좋습니다.

1. 찰스 사용을 위한 공통적인 프로세스

찰스용 SSL 인증서를 설치하고 찰스 설정에서 SSL에서 찰스용 인증서를 사용할 도메인을 입력합니다. 그러면 찰스가 SSL연결시 찰스용 인증서를 통해 SSL 연결을 하게되고 찰스에서 해당 도메인의 통신 내역을 열어볼 수 있습니다.

2. 환결별 인증서 설치

찰스용 SSL 인증서 설치는 OSX, 아이폰 시뮬레이터, 제니모션(안드로이드 에뮬)에 따라 방법이 다릅니다. 아래 방법과 링크를 침조하세요.

2-1. OSX

참고링크

2-2. Genymotion

제니모션 이미지에 인증서를 설치해주면 됩니다.

2-3. iOS Simulator

찰스 3.9.3 부터는 Help메뉴에 "Install Charles CA SSL Certificate in iOS Simulators"가 있습니다. 이거 해주면 됩니다.
참고링크

3. 기타

CommandLine에서 curl을 이용한 https 열어보기

curl 명령어 -x 옵션을 주어 프록시를 설정해 줍니다. 찰스 프록시 서버의 기본 설정은 localhost(127.0.0.1)의 8888 포트입니다.
참고링크

    curl -x localhost:8888 www.google.com

찰스의 다른 유용한 기능들

찰스를 이용하면 요청을 재현한다던지, 수정한다던지 할 수 있는 일이 많습니다. 뭐 제가 다 여기다 설명할수는 없지만 다음 영상에서 잘 설명되어 있으니 보시면 많은 도움이 될겁니다.

1개의 좋아요