Skip to content Skip to sidebar Skip to footer

Python Equivalent Of Curl Http Post

I am posting to Hudson server using curl from the command line using the following-- curl -X POST -d '4142430A

Solution 1:

import urllib2

req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
result = response.read()

where data is the encoded data you want to POST.

You can encode a dict using urllib like this:

importurllibvalues= { 'foo': 'bar' }
data = urllib.urlencode(values)

Solution 2:

The modern day solution to this is much simpler with the requests module (tagline: HTTP for humans! :)

import requests

r = requests.post('http://httpbin.org/post', data = {'key':'value'}, auth=('user', 'passwd'))
r.text      # response as a string
r.content   # response as a byte string
            #     gzip and deflate transfer-encodings automatically decoded 
r.json()    # return python object from json! thisis what you probably want!

Post a Comment for "Python Equivalent Of Curl Http Post"