Charles Proxy is a great tool that is helpful for everyday use for both QA and Developer.
Charles is a web proxy (HTTP Proxy/HTTP Monitor) that runs on your own computer.
- An HTTP Proxy is an intermediary program which acts as both an HTTP Server and an HTTP Client.
- An HTTP Monitor is an application that enables the developer to view all of the HTTP traffic between your computer and the Internet. This includes the request data (such as HTTP headers and form GET and POST data) and the response data (including the HTTP headers and body).
Below is a screenshot of what Charles Proxy looks like.
I personally liked Charles Proxy because of its ability to simulate bandwidth throttling which is one of its key feature and to see all of the data that is sent and received from the server. Charles makes it easy to see what is happening, so you can quickly diagnose problems.
The key features of Charles that can be useful are:
- SSL Proxing – View SSL request and responses in plain text
- Bandwidth throttling – To simulate slower internet connections including latency
- AJAX debugging – view XML and JSON responses as a text or a tree
- Edit requests to test different inputs
- Auto configure Browser & System Proxy Settings
Some of the pros of using Charles proxy:
* Extremely useful for app development involving web services.
* Lots of information about web requests, responses, headers, etc.
* Easy setup; it auto-configures the Mac proxy settings when it starts and changes it back when it quits.
* Ability to throttle down the connection speed.
* Lots of settings.
Charles Proxy is a powerful tool for testing and debugging your applications and their traffic. Hopefully this has helped you get started. The Charles Proxy website also has excellent document to get you started and if you find yourself stuck on something or want to learn more about its other features.