关于HERE Places REST API返回Web UI而非JSON的技术咨询
解决HERE Places APIs返回网页而非JSON的问题
我之前帮好几个开发者排查过类似的情况,大概率是这两个细节没处理到位:
必须添加
Accept请求头指定响应格式
HERE的API会根据请求头里的Accept字段来决定返回格式,如果你直接在浏览器里访问这个URL,浏览器默认发送的是Accept: text/html这类头,服务器就会返回网页版的内容。你需要在请求里明确加上:Accept: application/json这样服务器就知道要返回你需要的JSON格式响应了。
检查请求参数的语法错误
你给出的示例URL里有个明显的参数问题:app_code{YOUR_APP_CODE}这里少了一个等号,正确的写法应该是app_code={YOUR_APP_CODE}。参数格式错误会导致服务器无法正常解析请求,进而返回错误提示网页。
修正后的请求示例(用curl工具)
curl -H "Accept: application/json" "https://places.cit.api.here.com/places/v1/autosuggest?app_id={YOUR_APP_ID}&app_code={YOUR_APP_CODE}&at=52.5304417,13.4111201&q=rest&pretty"
如果是用代码发送请求(比如Python、JavaScript),记得在请求头里带上Accept: application/json。举个Python requests库的例子:
import requests url = "https://places.cit.api.here.com/places/v1/autosuggest" params = { "app_id": "{YOUR_APP_ID}", "app_code": "{YOUR_APP_CODE}", "at": "52.5304417,13.4111201", "q": "rest", "pretty": "" } headers = { "Accept": "application/json" } response = requests.get(url, params=params, headers=headers) print(response.json())
这样调整后,应该就能拿到你想要的简洁JSON响应了~
内容的提问来源于stack exchange,提问作者SW Developers
相关产品推荐
相关产品推荐

