A utility belt for advanced users of python-requests
Project description
requests toolbelt
This is just a collection of utilities that some users of python-requests might need but do not belong in requests proper.
multipart/form-data Encoder
The main attraction is a streaming multipart form-data object. Its API looks like:
from requests_toolbelt import MultipartEncoder
import requests
m = MultipartEncoder(
fields={'field0': 'value', 'field1': 'value',
'field2': ('filename', open('file.py', 'rb'), 'text/plain')}
)
r = requests.post('http://httpbin.org/post', data=m,
headers={'Content-Type': m.content_type})
You can also use it to just plain use multipart/form-data encoding for requests that do not require files:
from requests_toolbelt import MultipartEncoder
import requests
m = MultipartEncoder(fields={'field0': 'value', 'field1': 'value'})
r = requests.post('http://httpbin.org/post', data=m,
headers={'Content-Type': m.content_type})
You can also just use it to create the string to examine the data:
# Assuming `m` is one of the above m.to_string() # Always returns unicode
User-Agent constructor
You can easily construct your own requests-style User-Agent string:
from requests_toolbelt import user_agent
headers = {
'User-Agent': user_agent('my_package', '0.0.1')
}
r = requests.get('https://api.github.com/users', headers=headers)
SSLAdapter
The SSLAdapter is an implementation of the adapter proposed over on @Lukasa’s blog, here. This adapter allows the user to choose one of the SSL protocols made available in Python’s ssl module for outgoing HTTPS connections:
from requests_toolbelt import SSLAdapter
import requests
import ssl
s = requests.Session()
s.mount('https://', SSLAdapter(ssl.PROTOCOL_TLSv1))
History
0.2.0 – 2014-02-24
Add ability to tell MultipartEncoder which encoding to use. By default it uses ‘utf-8’.
Fix #10 - allow users to install with pip
Fix #9 - Fix MultipartEncoder#to_string so that it properly handles file objects as fields
0.1.2 – 2014-01-19
At some point during development we broke how we handle normal file objects. Thanks to @konomae this is now fixed.
0.1.1 – 2014-01-19
Handle io.BytesIO-like objects better
0.1.0 – 2014-01-18
Add initial implementation of the streaming MultipartEncoder
Add initial implementation of the user_agent function
Add the SSLAdapter
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 requests-toolbelt-0.2.0.tar.gz.
File metadata
- Download URL: requests-toolbelt-0.2.0.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8a8afb6c4056fc1679ff44678dce7339f2d2e4c8035b2db4d02467af79273fe
|
|
| MD5 |
c242d9ed950cffa7e78509c6d8ef1892
|
|
| BLAKE2b-256 |
1559d7f9e2b1d0646700a82ea8bf1af0b4e7b2a2c07c23aba38144154da45fbf
|
File details
Details for the file requests_toolbelt-0.2.0-py2.py3-none-any.whl.
File metadata
- Download URL: requests_toolbelt-0.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c4c356aba34a56cb1d318386a3ca57dabd66eabef762866f8b950caad491f89
|
|
| MD5 |
b620914eb76949e04db34ba088404efa
|
|
| BLAKE2b-256 |
5a99b144aace6f8db0d0dea2e0cde6e83b2605d345f5b6155d3a7cc5f4092d77
|