Charles has a web interface that enables you to control Charles from a browser, or using an external program using the web interface as a web service.
Enable the web interface using the Web Interface Settings option in the Proxy menu. You can allow anonymous access or you can configure usernames and passwords. You can access the web interface by visiting http://control.charles/ in a web browser configured to use Charles as its proxy.
The web interface provides access to the following functions:
- Throttling control
- Activate or deactivate any of the configured throttling presets
- Recording control
- Start and stop session recording
- Activate and deactivate tools
- Session control
- Clear the current session
- Export the current session in any of the supported formats
- Download the current session in Charles's native session format
- Quit Charles
By inspecting the web interface HTML you can derive how to use it as web services to automate Charles.