常见问题
彩云天气 App 采用了那种地图坐标?
彩云天气 App 使用 GCJ-02 坐标系统
彩云天气 API 是否支持返回历史数据
API 接口仅支持返回过去一天的历史数据,接口默认返回当前时刻到未来的数据。需要调用过去一天的数据,可以在 URL 后加参数 begin=时间戳
即可。
begin 如果传入未来时间会导致数据不准,不要 这么操作。
如何正确重试接口
- 发起 API 调用
- 如果失败,则等待时间随超时次数指数增长
#!/usr/bin/env python3
import time
import requests
URL = "http://api.caiyunapp.com"
MAX_RETRY = 3
data = {}
retry_times = 0
while retry_times <= MAX_RETRY:
try:
data = requests.get(URL).json()
break
except Exception:
print("failed")
retry_times += 1
time.sleep(retry_times*retry_times)
continue
print(data)
任何外部/内部的接口都可能因为各种原因发生请求失败,代码里应做好对应的容错/兜底机制。
按照 99.9% 可用率,一般每 1 万次调用中,有 10 次左右的超时属于正常范围。
额外的超时可能会导致总调用量有小幅度的增长,对计费会有比较轻微的影响。