Re: Curl and python httplib?

Discussion in 'Python' started by Chris Rebert, Mar 29, 2013.

  1. Chris Rebert

    Chris Rebert Guest

    On Wed, Mar 27, 2013 at 7:54 PM, å°å­¦å›­PHP <xxy-php@qq..com> 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.


    I would say that `requests`
    (http://docs.python-requests.org/en/latest/ ) is generally preferable
    to httplib these days.

    > 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?


    It's rather hard to say when neither the base URL, nor querystring
    parameters, nor request body are the same between your curl example
    and your httplib example, making them rather incomparable.
    Part of the problem may be that you are passing what may have been
    intended as querystring parameters (`params`) as the `body` argument
    to HTTPConnection.request().
    In any case, I would suggest trying to use the `requests` library instead.

    Cheers,
    Chris
     
    Chris Rebert, Mar 29, 2013
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Chris

    cURL in ASP.NET

    Chris, Dec 17, 2004, in forum: ASP .Net
    Replies:
    1
    Views:
    8,286
    Joerg Jooss
    Dec 19, 2004
  2. ß Ø ® G

    Page Curl Javascript wtd

    ß Ø ® G, Jan 26, 2004, in forum: HTML
    Replies:
    10
    Views:
    6,820
    supermann
    Jun 7, 2007
  3. curl and popen2

    , Feb 2, 2005, in forum: Python
    Replies:
    1
    Views:
    625
    Robey Holderith
    Feb 2, 2005
  4. pakalk
    Replies:
    7
    Views:
    189
    Peter J. Holzer
    Mar 28, 2009
  5. Mark Lawrence

    Re: Curl and python httplib?

    Mark Lawrence, Apr 1, 2013, in forum: Python
    Replies:
    2
    Views:
    146
    vasudevram
    Apr 1, 2013
Loading...

Share This Page