编写一个需要多个查询参数的GET请求

时间:2015-08-31 12:58:46

标签: python rest http curl restful-url

我正在编写一个GET请求,在URL的末尾有三个查询参数

现在我的网址列表中的网址是

(r'/v1/random/data?{}' .format(urllib.urlencode(args)) , 'GET', getResource),

方法getResource重定向到要从URL中提取参数的类 我在该特定方法中使用locals()打印了局部变量,它们就是这样的

{'res': {}, 'args': 'data', 'uri': '/v1/random/data', 'entities': ['', 'v1', 'random', 'data'] }

上述输出的curl请求是

curl -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://<ip>:<port>/v1/<random>/data?param1=1&param2=2

我希望能够从我的curl请求中提取参数param1和param2。我应该如何在Python中实现它?

如果你不理解上面的错误,我想在python中创建一个API

curl "http://localhost:5000/pulse/?lat=41.225&lon=-73.1"

能够在GET请求中接受两个值

1 个答案:

答案 0 :(得分:2)

您可以使用Requests吗?如果是这样,它就像(主页上的例子)一样简单:

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get("http://httpbin.org/get", params=payload)

更新

要使用请求生成上一个CURL示例中显示的确切查询字符串,您可以执行以下操作:

p = {'lat':41.225, 'lon'=-73.1 }
r = requests.get( 'http://localhost:5000/pulse/', params=p )