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'), '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.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
Hashes for requests_toolbelt-0.1.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fd7b1c4fbf04406a7f471c38eead9b83eb0c4427916fa573cb06540b10b948b |
|
MD5 | 7bce059b35e3baa744ba09931b4c3e80 |
|
BLAKE2b-256 | 65d9d18013d6bb6a2c9ca6fed7628c6e287b36a768ef63954a44fa414343d769 |