繁体   English   中英

使用python将json数据放入url

[英]Put json data into url with python

我正在尝试在与mongolab restAPI一起使用的URL中编码一个json参数。

我的网址看起来像这样

url = 'https://api.mongolab.com/api/1/databases/db/collections/coll?q={"q": "10024"}&apiKey=mykey 

我正在尝试使用打开它

urllib2.urlopen(url)

但我遇到错误,说我的apikey不正确。 我知道这不是真的,因为如果我将网址复制并粘贴到浏览器中,则会得到正确的响应。 我也知道,只要我那里没有查询,我就可以访问rest api(因此它一定是json / formatting问题)。

所以有人知道我如何编码json查询

{"q": "10024"} 

进入网址? 谢谢!

您必须正确地对该字符串进行URL编码。 使用urllib.quote_plus()函数

url = 'https://api.mongolab.com/api/1/databases/db/collections/coll?q={q}&apiKey={key}'
query = urllib.quote_plus('{"q": "10024"}')
urllib2.urlopen(url.format(q=query, key=your_api_key))

您也可以使用requests库。

例:

import requests
payload = {'q': '10024', 'apiKey': 'mykey'}
r = requests.get("https://api.mongolab.com/api/1/databases/db/collections/coll", params=payload)
print(r.url)

输出:

https://api.mongolab.com/api/1/databases/db/collections/coll?q=10024&apiKey=mykey

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM