From what I have seen, Charles seems to be one of the most popular and regularly used proxy applications among tech teams. So, I thought it would be good to give it a try.
Let’s go through some key points…
Installation and configuration
To install Charles, go to https://www.charlesproxy.com/download/, download the installation package, and install it on your local machine.
To launch Charles, just run the installed app.
To configure the client side (mobile):
- Set the HTTP proxy on mobile. The address is the IP which launches Charles. Port is default to 8888.
- Use your browser on mobile to access http://chls.pro/ssl.
- Download and Install the certificate as per the instructions.
- Open the app. It should work in Charles.
Great for monitoring
Monitoring HTTP traffic in Charles is super straightforward. Simply select the request and you can view the traffic details. You can also use filters to view the traffic with specific URLs.
Charles provides a web interface as well, but it is disabled by default. You need to go to the Proxy menu to enable it. Then, you can access it by visiting http://control.charles/. The web interface is used to manipulate Charles by command line mode.
Easy to debug
There are 2 ways in which Charles can help you debug or test with request / response rewrite.
- In Proxy menu > Breakpoints Settings, you can set some breakpoints on specific URLs.
When the client side sends a request, it will trigger the breakpoint and allow you to modify the request or response based on your settings.
2. In Tools menu > Rewrite Settings, you can define rewrite rules.
When the client side sends a request, it will trigger the rewrite rule to rewrite the request / response data.
Record and Replay
You can save the request or response when selecting traffic on the right-hand menu.
Charles supports command line mode, and although I didn’t give this a try, there’s information about it here –https://firstname.lastname@example.org/automated-tests-with-charles-proxy-7e449eac46ce
For the GUI mode, it is perfect for the user to perform codeless testing. It supports a lot of cool features too.
You can use the trial version for as long as you want. However, be aware that it closes every 30 minutes.
Pricing is as follows: