0

我刚刚开始探索 API。到目前为止,这是我的代码。对于 locu API,这是可行的,但对于 Zomato,他们使用我不知道如何使用的 curl 标头请求。有人可以指导或告诉我如何吗?

import json
import urllib2

Key = 'Zomato_key'

url = 'https://developers.zomato.com/api/v2.1/categories'

json_obj = urllib2.urlopen(url)

data = json.load(json_obj)

print data
4

2 回答 2

3

通过查看Zomato API 文档,似乎user-key必须在标题中设置参数。

以下作品:

import json
import urllib2

Key = '<YOUR_ZOMATO_API_KEY>'
url = "https://developers.zomato.com/api/v2.1/categories"

request = urllib2.Request(url, headers={"user-key" : Key})
json_obj = urllib2.urlopen(request)
data = json.load(json_obj)

print data

如果您想要一种更优雅的方式来查询 API,请查看requests模块(您可以使用 安装pip install requests)。

我建议你以下:

import json
import requests

Key = <YOUR_ZOMATO_API_KEY>'
url = "https://developers.zomato.com/api/v2.1/categories"

if __name__ == '__main__':
    r = requests.get(url, headers={'user-key': Key})
    if r.ok:
        data = r.json()
        print data

注意:如果您关心自己的密钥,我建议您从 StackOverflow 中删除您的密钥。

于 2018-01-05T01:44:13.503 回答
0

这对我不起作用,你能为我推荐一些其他方法吗?--> 尝试编译时的代码需要很长时间并且在内置的请求方法中返回回溯错误

但 curl 命令正在工作 curl -X GET --header "Accept: application/json" --header "user-key: c5062d18e16b9bb9d857391bb32bb52f" " https://developers.zomato.com/api/v2.1/categories "

于 2018-08-31T11:58:20.143 回答