> For the complete documentation index, see [llms.txt](https://docs.proxyman.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.proxyman.com/debug-devices/python.md).
# Python
Capture HTTP/HTTPS traffic from Python with Proxyman
## 1. New Automatic Solution (v4.7.0 or later) â
Proxyman v4.7.0 or later can capture HTTP/HTTPS traffic from Python with 1-click.
* 1-click solution: No need to manually set HTTP Proxy config or trust the self-signed certificate.
* Support many Python libraries: request, http.client, urllib3, httpx and aiohttp
### How to use:
1. Open Proxyman -> Setup Menu -> Automatic Setup
2. Click on "Open New Terminal"
3. Accept the Apple Script permission prompt if needed
4. The New Terminal app is launched -> You can start your Python Backend Server, or Run scripts => Proxyman automatically captures all traffic.
5. Done â
Capture NodeJS Traffic with Proxyman
Please check out the Automatic Setup page:
{% content-ref url="/pages/8HduLQAFcllaS3GbigwH" %}
[Automatic Setup](/automatic-setup/automatic-setup.md)
{% endcontent-ref %}
##
## 2. Old Solution (Not recommended) â
### 1. Script Approach
1. Use [the following script ](https://github.com/ProxymanApp/Proxyman/issues/1220#issuecomment-1249090359)to automatically install/remove the certificate to Python.
2. Save the script to \~/desktop file with the name is `script.py`
* Add Certificate:
```bash
$ python3 script.py add
```
* Remove Certificate
```
$ python3 script.py remove
```
{% hint style="info" %}
For macOS 12.2 or later, make sure you use `python3`
Credit to [@novitae](https://github.com/novitae)
{% endhint %}
### 2. Manual Approach
### - Install Proxyman on the Python environment
By default, Python on macOS doesn't trust Proxyman self-signed certificates. As a result, you might encounter SSL Error if you try to intercept HTTPS traffic.
If you would like to intercept HTTPS Traffic from your Python script, you have to explicitly **tell Python to use the Proxyman Root Certificate** at `~/.proxyman/proxyman-ca.pem`
Please follow the guideline:
1. Install Proxyman Certificate on Mac (If you've done it, please skip it. If not, please check out [MacOS Guideline](/debug-devices/macos.md#install-certificates-on-macos)).
2. Run the following CLI on your Terminal app
```bash
$ export SSL_CERT_FILE=~/.proxyman/proxyman-ca.pem
$ export REQUESTS_CA_BUNDLE=~/.proxyman/proxyman-ca.pem
$ echo "export REQUESTS_CA_BUNDLE=~/.proxyman/proxyman-ca.pem" >> ~/.bash_profile ; source ~/.bash_profile
```
3\. Done.
### - Revert the change
If you don't use Proxyman, please revert the change by commenting out:
```bash
# export REQUESTS_CA_BUNDLE=~/.proxyman/proxyman-ca.pem
```
in \~/.bash\_profile
## 3. Troubleshooting
#### 3.1 Proxyman could not capture HTTP traffic from my Python code.
**Solution**: Please use the [Automatic Setup](/automatic-setup/automatic-setup.md).
### Reference
*
*