如何使用PyCurl设置GET参数?

And*_*rew 5 python rest get pycurl

我正在尝试使用PycURL对REST API进行GET请求.如果我没有传递任何参数,我能够成功发出请求.我也可以通过执行以下操作来发出POST请求:

curl.setopt(pycurl.POSTFIELDS,post_data)

我想创建一个包含登录参数的get请求.如果我尝试使用上面的行传递参数,它会尝试进行POST.我无法弄清楚如何设置登录参数并发出GET请求.

任何帮助,将不胜感激.

Mah*_*der 13

就像浏览器上的普通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 ...
Run Code Online (Sandbox Code Playgroud)


Jon*_*Lee 1

似乎没有 pycurl.GETFIELDS 选项,因此您必须在 url 中传递这些参数,如下所示:

http://your_url/some_path?param1=value1&param2=value2
Run Code Online (Sandbox Code Playgroud)

您应该将 param1、param2、value1 和 value2 替换为您存储在post_data.