Charles Proxy

Charles Web Debugger Proxy
Original author(s)Karl von Randow
Developer(s)Karl von Randow
Initial release2002; 22 years ago (2002)
Stable release
4.6.4[1] / 4 April 2023; 20 months ago (2023-04-04)
Operating systemWindows, Mac OS X 10.7 - 10.15, Linux[2]
PlatformJava
Size55 MB
TypePacket analyzer
LicenseTrialware
Websitewww.charlesproxy.com

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[3] 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

[edit]
  • 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[4] or Android[5] 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.[6]
  • 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

[edit]

Charles will autoconfigure for use on the following browsers:

See also

[edit]

References

[edit]
  1. ^ "Charles Web Debugging Proxy Application – Version History". 4 April 2023.
  2. ^ "Charles Web Debugging Proxy Application – Download Charles".
  3. ^ Jesse Wilson (2016-08-01). "Charles 4 has HTTP/2".
  4. ^ "Tutorial: Using Charles Proxy With Your iOS Development And HTTP Debugging". 2016-04-11.
  5. ^ Erik Straub (2017-06-20). "Using Charles Proxy to Debug Android SSL Traffic".
  6. ^ David Walsh (2016-01-21). "Remote Debugging with Charles Proxy".
[edit]