HTTP post with urllib2
cerr
ron.eggler at gmail.com
Tue Aug 6 19:35:26 EDT 2013
On Tuesday, August 6, 2013 4:08:34 PM UTC-7, Joel Goldstick wrote:
> On Tue, Aug 6, 2013 at 6:52 PM, cerr <ron.eggler at gmail.com> wrote:
>
> > Hi,
>
> >
>
> > Why does this code:
>
> >
>
> > #!/usr/bin/python
>
> >
>
> >
>
> > import urllib2
>
> > from binascii import hexlify, unhexlify
>
> >
>
> > host = "localhost"
>
> > uri="/test.php"
>
> > data ="\x48\x65\x6C\x6C\x6F\x57\x6F\x72\x6C\x64" #Hello World
>
> > url="http://{0}{1}?f=test".format(host, uri)
>
> > req = urllib2.Request(url, data,{'Content-Type': 'application/octet-stream'})
>
> > req.get_method = lambda: 'PUT'
>
>
>
> What does the above line do? is it the same as req.get_method = 'PUT'
I guess so, I got this from an example.... copy & paste :x
>
> > response = urllib2.urlopen(req, 120)
>
>
>
> the docs say req should be a url. Is it?
no, it's an instance of req = urllib2.Request()
>
> > retval = response.read()
>
> > print "RETVAL "+retval
>
> >
>
> >
>
> >
>
> > return me this:
>
> >
>
> > ./post.py
>
> > Traceback (most recent call last):
>
> > File "./post.py", line 13, in <module>
>
> > response = urllib2.urlopen(req, 120)
>
> > File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
>
> > return _opener.open(url, data, timeout)
>
> > File "/usr/lib/python2.7/urllib2.py", line 398, in open
>
> > req = meth(req)
>
> > File "/usr/lib/python2.7/urllib2.py", line 1116, in do_request_
>
> > 'Content-length', '%d' % len(data))
>
> >
>
> >
>
> > I don't get it, what's going on here?
>
> >
>
> > Thank you!
>
> > --
>
> > http://mail.python.org/mailman/listinfo/python-list
>
>
>
> KInda of ducking your questions, but the requests module is a lot
>
> easier to use and
>
> understand:http://docs.python-requests.org/en/latest/
But there must be a way to get this working with urllib alone...
More information about the Python-list
mailing list