Charles is a web debugging proxy that enables a developer to view all of the HTTP and SSL/HTTPS traffic between their machine and the internet. This includes deep inspection of requests, responses, headers, TLS information, compression and performance, and binary protocols such as Protobuf for both HTTP 1.1 and 2. Charles is perfect for debugging and measuring your web or mobile app’s API requests and responses.
Charles Features
The following features are what I believe to be the key features of Charles. The best way to explore these features and to discover others is to download the free trial.
SSL Proxying
Charles can act as a man-in-the-middle for HTTP/SSL communication, enabling you to debug the content of your HTTPS sessions.
Bandwidth Throttling
Charles simulates modem speeds by effectively throttling your bandwidth and introducing latency, so that you can experience an entire website as a modem user might (bandwidth simulator).
AJAX
Charles is useful for XML development in web browsers, such as AJAX (Asynchronous javascript and XML) and XMLHTTP, as it enables you to see the actual XML that is flowing between the client and the server. Charles natively supports JSON, JSON-RPC and SOAP; displaying each in a simplified tree format for easy viewing and debugging.
Flash
Charles is great for Adobe Flash developers as you can view the contents of LoadVariables, LoadMovie and XML loads. Charles also has native support for Flash Remoting (AMF0 and AMF3).
Browser & System Configuration
In order for any browser (or any application) to use Charles it must be configured to use Charles as its proxy server. Most browsers will have a way to configure this manually, but configuring manually is annoying because you have to configure and reconfigure everytime you start and stop Charles.
Fortunately Charles can autoconfigure the proxy settings in many cases including:
Windows / Internet Explorer proxy settings – used automatically by most Windows applications
Windows Proxy Settings
Charles can automatically configure the Windows proxy settings so that Internet Explorer and other Windows applications automatically start using Charles. By default Charles will configure and then reconfigure the Windows proxy settings whenever Charles is started or quit.
Charles proxy configuration behaviour can be changed in Charles in the Proxy Menu, Proxy Settings dialog.
The Windows proxy settings are configured in the Internet Options control panel on the Connections tab if you want to look at them yourself.
Microsoft Edge has an additional setting that you may need to make by browsing to about:flags and enabling Allow localhost loopback. This is required in order to connect to Charles Proxy running on localhost.
Home Page - https://www.charlesproxy.com/
TO MAC USERS: If RAR password doesn't work, use this archive program:
RAR Expander 0.8.5 Beta 4 and extract password protected files without error.
TO WIN USERS: If RAR password doesn't work, use this archive program:
Latest Winrar and extract password protected files without error.