On 30/03/2013 05:08, СѧPHP wrote:
Guys,
I take a project that need send request to Hadoop by curl.
But now, the curl and pycurl can't satisfy my project. So i need use the
powerful httplib.
But failed.
*my curl request:*
curl -i -X PUT "http://localhost:50070/webhdfs/v1/levi/7?op=CREATE"
*my return:*
HTTP/1.1 307 TEMPORARY_REDIRECT
Content-Type: application/octet-stream
Location:
http://58.53.211.47:50075/webhdfs/v1/levi/7?op=CREATE&overwrite=false
Content-Length: 0
Server: Jetty(6.1.26)
*Now, i change the curl request to httplib:*
import httplib
import urllib
params=urllib.urlencode({"@op":"CREATE","@user.name":"levi"})
headers={"Content-type": "application/x-www-form-urlencoded","Accept":
"text/plain"}
conn=httplib.HTTPConnection("localhost:50070")
conn.request("PUT","/webhdfs/v1/levi/7.txt",params,headers)
response=conn.getresponse()
print response.status, response.reason
data=response.read()
print data
conn.close()
*But it failed:*
#print response.status, response.reason
500 Internal Server Error
#print data
'{"RemoteException":{"exception":"WebApplicationException","javaClassName":"javax.ws.rs.WebApplicationException","message":null}}'
Who knows why? It's OK when i use curl, so where is the problem in
httplib method?
Or some other reasons?
Who can help me change the curl request to httplib edition?
TIA
Levi
Try the requests module https://pypi.python.org/pypi/requests/ as if I
can successfuly use it anybody can :)
--
If you're using GoogleCrap™ please read this
http://wiki.python.org/moin/GoogleGroupsPython.
Mark Lawrence
--
http://mail.python.org/mailman/listinfo/python-list