How do I use Python's httplib to send a POST to a URL, with a dictionary of parameters?

后端 未结 2 1917
再見小時候
再見小時候 2021-02-18 17:55

I just want a function that can take 2 parameters:

  • the URL to POST to
  • a dictionary of parameters

How can this be done with httplib? thanks.

相关标签:
2条回答
  • 2021-02-18 18:32

    From the Python documentation:

    >>> import httplib, urllib
    >>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
    >>> headers = {"Content-type": "application/x-www-form-urlencoded",
    ...            "Accept": "text/plain"}
    >>> conn = httplib.HTTPConnection("musi-cal.mojam.com:80")
    >>> conn.request("POST", "/cgi-bin/query", params, headers)
    >>> response = conn.getresponse()
    >>> print response.status, response.reason
    200 OK
    >>> data = response.read()
    >>> conn.close()
    
    0 讨论(0)
  • 2021-02-18 18:39

    A simpler one, using just urllib:

    import urllib
    params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
    f = urllib.urlopen("http://www.example.org/cgi-bin/query", params)
    print f.read()
    

    Found in Python docs for urllib module

    0 讨论(0)
提交回复
热议问题