On Tuesday, August 6, 2013 5:14:48 PM UTC-7, MRAB wrote: > On 06/08/2013 23:52, cerr 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' > > > response = urllib2.urlopen(req, 120) > > > 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? > > > > > The docs say """urllib2.urlopen(url[, data][, timeout])""". > > > > You're calling it as """urllib2.urlopen(req, 120)""". > > > > In other words, 'url' is req and 'data' is 120. > > > > It should be """urllib2.urlopen(req, None, 120)""".
Yes, great! That did it! :) Coming into the office in the morning, sitting down, changing this and get it working! Good way to start my day! :) Thanks MRAB! -- http://mail.python.org/mailman/listinfo/python-list