首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python请求库的zomato api请求

使用python请求库的zomato api请求
EN

Stack Overflow用户
提问于 2015-12-02 17:07:16
回答 1查看 4.8K关注 0票数 5

Zomato是最受欢迎的餐厅搜索引擎之一,它提供免费的api服务...

如果在api请求中使用curl,则可以正常工作;

代码语言:javascript
复制
curl -X GET --header "Accept: application/json" --header "user_key: MY_API_KEY_HERE" "https://developers.zomato.com/api/v2.1/geocode?lat=41.10867962215988&lon=29.01834726333618"

但是使用了Python的requests库,它不能工作。当我执行下面的代码时;

代码语言:javascript
复制
import requests
r = requests.get("https://developers.zomato.com/api/v2.1/geocode?lat=41.10867962215988&lon=29.01834726333618", headers={"user_key": "MY_API_KEY_HERE", "Accept": "application/json"});

解释器返回下面的错误;

代码语言:javascript
复制
requests.exceptions.ProxyError: Cannot connect to proxy. Socket error: Tunnel connection failed: 403 Forbidden.

通过pyCurl库进行了多次尝试,但不幸的是结果是相同的;403 Forbidden

我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2016-03-06 02:42:40

我在使用Zomato API的时候也遇到了问题,我正在获取500 Server Error

在标题中添加User Agent信息解决了我的问题。

代码语言:javascript
复制
import requests
from pprint import pprint

locationUrlFromLatLong = "https://developers.zomato.com/api/v2.1/cities?lat=28&lon=77"
header = {"User-agent": "curl/7.43.0", "Accept": "application/json", "user_key": "YOUR_API_USER_KEY"}

response = requests.get(locationUrlFromLatLong, headers=header)

pprint(response.json())
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34038673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档