pycurl equivalent of “curl –data-binary”

I’d like to know the equivalent of this curl command in pycurl:

curl --data-binary @binary_data_file.bin 'http://server/myapp/method'

Note: The above curl statement uses the POST method. I need to use this for compatibility with my server script.

Best answer

The requests library is meant to keep things like this simple:

import requests
r = requests.post('http://server/myapp/method', data={'aaa': 'bbb'})

Or depending on how the receiving end expects data:

import requests
r = requests.post('http://server/myapp/method',
    data=file('binary_data_file.bin','rb').read())