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.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.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | efe8cd28376cc353030c75b04717984d1b8093eeda3ae889f5899e5e5151eb04 |
|
MD5 | b5d7d7f458476b9a5f906aaa1a4bd6d9 |
|
BLAKE2b-256 | a02ff4669727e12933cb0dbdfbf1e7a9bf92271a530a228bb0e2b869454635d6 |