Charles Proxy

Charles Web Debugging Proxy is a cross-platform HTTP debugging proxy server application written in Java. It enables the user to view HTTP, HTTPS, HTTP/2 and enabled TCP port traffic accessed from, to, or via the local computer. This includes requests and responses including HTTP headers and metadata (e.g. cookies, caching and encoding information) with functionality targeted at assisting developers analyze connections and messaging.

Features

 * Network message analysis – Charles shows full messaging sources of all HTTP and similar TCP-based communications that pass via its proxy port.
 * XML, JSON, SOAP interpretation – structured viewers that translate the raw HTTP content into a tree format for analysis.
 * HTML, CSS, JavaScript viewers – providing marked-up/formatted/unminified text content display
 * SSL debugging – allowing decryption of encrypted data to review/troubleshoot the transmitted content.
 * Bandwidth throttling – to simulate slower internet speeds by slowing down bandwidth/speed and introducing latency, for example to simulate a slower 3G connection.
 * Flash development aids – including Action Message Format (AMF) content analysis.
 * Debugging HTTP connections from mobile devices – providing a proxy between an iOS or Android device and a remote site, to debug HTTP connections and behavior that only occur on devices, including debugging video streaming issues, airplay issues, etc. that cannot be tested in the iOS simulator.
 * Remote file debugging – ability to swap out a remote file for a local file to aid debugging a remote site without requiring access to the server files.
 * Debugging aids – such as repeating URL post requests to test server changes, adding breakpoints, or editing request variables.
 * Validation function – ability to right-click any proxy request, and provide validation feedback using the W3C Markup Validation Service, useful for content the W3C service otherwise cannot access directly.

Browser support
Charles will autoconfigure for use on the following browsers:
 * IE (Windows system proxy settings)
 * Chrome
 * Firefox
 * Safari (Mac OS X or Windows system proxy settings)