我正在尝试使用 PycURL 对 REST api 发出 GET 请求。如果我不传递任何参数,我能够成功发出请求。我还可以通过执行以下操作来发出 POST 请求:
curl.setopt(pycurl.POSTFIELDS,post_data)
我想发出一个包含登录参数的获取请求。如果我尝试使用上面的行来传递参数,它会尝试进行 POST。我不知道如何设置登录参数并发出 GET 请求。
任何帮助,将不胜感激。
就像浏览器上的普通 URL 一样,GET 参数被编码并附加到?
URL 之后。使用 python 的urllib.urlencode,您可以:
import urllib
import pycurl
url = 'http://www.google.com/search'
params = {'q': 'stackoverflow answers'}
c = pycurl.Curl()
c.setopt(c.URL, url + '?' + urllib.urlencode(params))
... # and so on and so forth ...
似乎没有 pycurl.GETFIELDS 选项,因此您必须在 url 中传递这些参数,如下所示:
http://your_url/some_path?param1=value1¶m2=value2
您应该将 param1、param2、value1 和 value2 替换为您存储在post_data
.