基本 API 调用说明¶
以赏的实验室有些在线 API 提供给同学们调用。在调用 API 之前,同学们可以访问 以赏的个人博客账户主页 获取自己的 apikey
。当然,同学们在请求时 可以不带 apikey
字段请求 API,但是会遭受到 比较严格的速率限制 。
同时,所有 API 均支持 HTTP 调用,但是推荐更安全的 HTTPS 调用。
速率限制说明¶
速率限制的设置是为了防止服务器受到恶意调用而导致服务器卡顿,以后如果用户量上升,热度变高的话会逐步放开速率限制。
以赏的实验室的所有公开 API 在请求时,均可以不带 apikey
请求。
但是,对于不同的请求方式只要携带上 apikey
字段均可启用 apikey
请求,比如在 GET 请求URL: https://lab.lovepikachu.top/api/randpika
默认是不带 apikey
的,服务器在内部处理时会自动带上默认的 apikey
。
如果需要携带 apikey
请求,可以 GET 请求如下URL: https://lab.lovepikachu.top/api/randpika?apikey=your-key
。
对于 POST 请求,想要携带 apikey
请求,如果是表单请求形式,在表单内包含 apikey
字段请求即可;如果服务器预要接收一个 JSON 格式的数据,在 JSON 数据的键值对内带上 apikey
即可,其它格式会在其 API 文档内说明。
不带 apikey
请求的速率限制并非 IP 限制,而是集体限制。假设一个 API 接口 5 分钟允许不带 apikey
请求 5 次,任何不带 apikey
的请求均会被记录。比如小明在 5 分钟内请求了 3 次,小亮就只能请求 2 次。如果有带 apikey
请求,且确保 apikey
不泄露的情况下可以独享请求次数。
在后续的文档中,将称呼 未认证用户 为 未携带 apikey 请求的用户, 已验证用户 为 携带 apikey 请求用户。
一般响应值说明¶
一般服务器的响应值是 JSON 数据,形如:
{
"code": 0,
"msg": "success.",
"data": {},
"success": false
}
下面是各个字段解释:
字段 |
类型 |
说明 |
---|---|---|
code |
Integer, 一定 |
服务器处理结果代码。 |
msg |
String, 一定 |
服务器处理结果信息。(此字段是可选的,可能不存在。) |
data |
String, Array or Object, 非一定 |
响应数据。 |
success |
Boolean, 一定 |
服务器是否处理成功。 |
结果代码 |
结果信息 |
结果状态 |
结果原因 |
---|---|---|---|
-2 |
Apikey is wrong. |
false |
APIKEY 不存在或被封禁。 |
-1 |
Rate limit for calls. |
false |
请求过快,速率限制。 |
0 |
Success. |
true |
请求成功,服务器返回数据。 |
1 |
Request format error or API does not exist. |
false |
请求方式错误,或 API 不存在。 |
2 |
Server error. |
false |
服务器内部错误。 |
其余不同 API 可能返回不同的值,会在对应页面解释。
版权纠纷说明¶
提供的 API 中有部分是通过网络爬虫爬取其它网站内容的,若有版权纠纷请联系 lovepikachu@foxmail.com 删除,请务必在主题中注明 “在线 API 纠纷” 。