如何使用PyCurl设置GET参数?
我正在尝试使用PycURL对一个REST API进行GET请求。如果我不传递任何参数,我可以成功发起请求。我也可以通过以下方式进行POST请求:
curl.setopt(pycurl.POSTFIELDS, post_data)
我想发起一个包含登录参数的GET请求。如果我尝试使用上面的代码来传递参数,它就会变成一个POST请求。我不知道该如何设置登录参数并进行GET请求。
任何帮助都非常感谢。
2 个回答
1
看起来pycurl没有GETFIELDS这个选项,所以你需要把这些参数直接放在网址里,像这样:
http://your_url/some_path?param1=value1¶m2=value2
在这里,你需要把param1、param2、value1和value2替换成你在post_data
里存的值。
15
就像在浏览器上输入的普通网址一样,GET参数会被编码并加在网址后面,前面用一个?
符号分隔。你可以使用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 ...