Converts Request objects to curl string
Project description
curlifier
Converts the Request and PreparedRequest objects of the Requests library into an executable curl command.
Security
The resulting curl command will include all authentication credentials, API keys, passwords, and other sensitive information that were part of the original request. Be careful when sharing or logging these commands, as they may expose sensitive data.
Installation
pip install curlifier
Usage
All you need is to import curlify.
For example:
>>> import requests
>>> from curlifier import curlify
>>> body = {'id': 1, 'name': 'Tima', 'age': 28}
>>> r = requests.post('https://httpbin.org/', json=body)
>>> curlify(r)
curl --request POST 'https://httpbin.org/' <...> --header 'Content-Type: application/json' --data '{"id": 1, "name": "Tima", "age": 28}'
If you use PreparedRequest, you can also specify it instead of the Response object:
>>> req = requests.Request('POST', 'https://httpbin.org/')
>>> r = req.prepare()
>>> curlify(prepared_request=r)
curl --request POST 'https://httpbin.org/'
If you want a short version of the curl command, you can specify it:
>>> body = {'id': 1, 'name': 'Tima', 'age': 28}
>>> r = requests.post('https://httpbin.org/', json=body)
>>> curlify(r, shorted=True)
curl -X POST 'https://httpbin.org/' <...> -H 'Content-Type: application/json' -d '{"id": 1, "name": "Tima", "age": 28}'
You can also specify the configuration when forming the curl command:
>>> curlify(r, location=True, insecure=True)
curl --request POST 'https://httpbin.org/' <...> --header 'Content-Type: application/json' --data '{"id": 1, "name": "Tima", "age": 28}' --location --insecure
- location (bool) - Follow redirects (default: False)
- verbose (bool) - Verbose output (default: False)
- silent (bool) - Silent mode (default: False)
- insecure (bool) - Allow insecure connections (default: False)
- include (bool) - Include protocol headers (default: False)
License
Curlifier is released under the MIT License. See the bundled LICENSE file for details.
The logo was created using Font Meme.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file curlifier-1.0.7.tar.gz.
File metadata
- Download URL: curlifier-1.0.7.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.14.3 Darwin/25.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd450de7fb64f965bcbc7747721b7600ec6fbdce6afdb6cdc4acc584f080c62b
|
|
| MD5 |
6171bbcdae28a27aadbc29979af73ae6
|
|
| BLAKE2b-256 |
4fb0478201a876075d57204eeb4b49b77b3cd173bcdd69068af86666f8202c3f
|
File details
Details for the file curlifier-1.0.7-py3-none-any.whl.
File metadata
- Download URL: curlifier-1.0.7-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.14.3 Darwin/25.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bb836b3a8f009abcf3d46202935727a2b394cb14f22d398f7487792b2d143dd
|
|
| MD5 |
4baf7c0f3040091aafd3a1c29a73d925
|
|
| BLAKE2b-256 |
4762b9be4d36239577200b3df8b9304a8490a4e513d7458a692202409e8cf471
|