API 详情
历史上的今天
获取指定月日的全部历史事件。
GET
公开 API
分类:数据查询
限流 10 / 分钟
完整请求 URL
可直接在浏览器、终端或调试工具中调用
接口说明
历史上的今天(百度百科)
从百度百科聚合数据源 eventsOnHistory 获取「历史上的今天」事件列表,一次返回指定日期的全部事件(JSON)。
请求
GET /api/tools/history-today(默认当天)
GET /api/tools/history-today?month=4&day=20(指定月日)
参数
| 参数 | 必填 | 说明 |
|---|---|---|
| month | 否 | 1–12,不传默认当前月 |
| day | 否 | 1–31,不传默认当天 |
响应
code=200 时 data.events 为事件数组(每项含 title,可能含 year / link / desc)。
在线调试
通过本站代发请求。GET 时会把 JSON 中的键值作为 Query,非 GET 时作为 JSON Body.
示例代码
// GET https://api.avrinbai.cn/api/tools/history-today
const payload = {
"day": 20,
"month": 4
};
const url = new URL('https://api.avrinbai.cn/api/tools/history-today');
url.search = new URLSearchParams(payload).toString();
const headers = {
"Accept": "application/json",
"Content-Type": "application/json",
};
const res = await fetch(url.toString(), {
method: "GET",
headers,
});
// 兼容返回 JSON / 纯文本 / 二进制
const contentType = res.headers.get("content-type") || "";
if (contentType.includes("application/json")) {
console.log(await res.json());
} else {
console.log(await res.text());
}
// GET https://api.avrinbai.cn/api/tools/history-today
import axios from "axios";
const payload = {
"day": 20,
"month": 4
};
const headers = {
"Accept": "application/json",
};
const url = "https://api.avrinbai.cn/api/tools/history-today";
const res = await axios.request({
url,
method: "GET",
headers,
params: payload,
// responseType: "arraybuffer", // 若接口返回图片/音视频,可按需开启
});
console.log(res.status, res.data);
# GET https://api.avrinbai.cn/api/tools/history-today
import requests
payload = {
"day": 20,
"month": 4
}
headers = {
"Accept": "application/json",
}
# headers["X-API-Key"] = "YOUR_API_KEY"
res = requests.request(
"GET",
"https://api.avrinbai.cn/api/tools/history-today",
headers=headers,
params=payload,
timeout=25,
)
print(res.status_code)
print(res.text)
// GET https://api.avrinbai.cn/api/tools/history-today
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
payload := map[string]any{
"day": 20,
"month": 4
}
u, _ := url.Parse("https://api.avrinbai.cn/api/tools/history-today")
q := u.Query()
q.Set("day", "20")
q.Set("month", "4")
u.RawQuery = q.Encode()
targetURL := u.String()
var body io.Reader = nil
req, _ := http.NewRequest("GET", targetURL, body)
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
// req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
res, err := client.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
raw, _ := io.ReadAll(res.Body)
fmt.Println(res.StatusCode)
fmt.Println(string(raw))
}
// GET https://api.avrinbai.cn/api/tools/history-today
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
payload := map[string]any{
"day": 20,
"month": 4
}
u, _ := url.Parse("https://api.avrinbai.cn/api/tools/history-today")
q := u.Query()
q.Set("payload", "{\"day\":20,\"month\":4}")
u.RawQuery = q.Encode()
targetURL := u.String()
var body io.Reader = nil
req, _ := http.NewRequest("GET", targetURL, body)
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
// req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
res, err := client.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
raw, _ := io.ReadAll(res.Body)
fmt.Println(res.StatusCode)
fmt.Println(string(raw))
}
// GET https://api.avrinbai.cn/api/tools/history-today
import okhttp3.*;
public class Demo {
public static void main(String[] args) throws Exception {
OkHttpClient client = new OkHttpClient();
String payloadJson = {"day":20,"month":4};
HttpUrl.Builder urlBuilder = HttpUrl.parse("https://api.avrinbai.cn/api/tools/history-today").newBuilder();
urlBuilder.addQueryParameter("day", "20");
urlBuilder.addQueryParameter("month", "4");
String url = urlBuilder.build().toString();
RequestBody body = null;
Request request = new Request.Builder()
.url(url)
.method("GET", body)
.addHeader("Accept", "application/json")
.addHeader("Content-Type", "application/json")
// .addHeader("X-API-Key", "YOUR_API_KEY")
.build();
try (Response response = client.newCall(request).execute()) {
System.out.println(response.code());
System.out.println(response.body() != null ? response.body().string() : "");
}
}
}
// GET https://api.avrinbai.cn/api/tools/history-today
import okhttp3.*;
public class Demo {
public static void main(String[] args) throws Exception {
OkHttpClient client = new OkHttpClient();
String payloadJson = {"day":20,"month":4};
HttpUrl.Builder urlBuilder = HttpUrl.parse("https://api.avrinbai.cn/api/tools/history-today").newBuilder();
urlBuilder.addQueryParameter("payload", payloadJson);
String url = urlBuilder.build().toString();
RequestBody body = null;
Request request = new Request.Builder()
.url(url)
.method("GET", body)
.addHeader("Accept", "application/json")
.addHeader("Content-Type", "application/json")
// .addHeader("X-API-Key", "YOUR_API_KEY")
.build();
try (Response response = client.newCall(request).execute()) {
System.out.println(response.code());
System.out.println(response.body() != null ? response.body().string() : "");
}
}
}
// GET https://api.avrinbai.cn/api/tools/history-today
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var payloadJson = {"day":20,"month":4};
using var client = new HttpClient();
var query = string.Join("&", new[] { "day" + "=" + Uri.EscapeDataString("20"), "month" + "=" + Uri.EscapeDataString("4") });
var url = "https://api.avrinbai.cn/api/tools/history-today" + "?" + query;
using var request = new HttpRequestMessage(new HttpMethod("GET"), url);
request.Headers.Add("Accept", "application/json");
// request.Headers.Add("X-API-Key", "YOUR_API_KEY");
// GET/HEAD 通常不发送 body。
using var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine((int)response.StatusCode);
Console.WriteLine(body);
}
}
// GET https://api.avrinbai.cn/api/tools/history-today
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var payloadJson = {"day":20,"month":4};
using var client = new HttpClient();
var query = "payload=" + Uri.EscapeDataString(payloadJson);
var url = "https://api.avrinbai.cn/api/tools/history-today" + "?" + query;
using var request = new HttpRequestMessage(new HttpMethod("GET"), url);
request.Headers.Add("Accept", "application/json");
// request.Headers.Add("X-API-Key", "YOUR_API_KEY");
// GET/HEAD 通常不发送 body。
using var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine((int)response.StatusCode);
Console.WriteLine(body);
}
}
<?php
// GET https://api.avrinbai.cn/api/tools/history-today
$payload = json_decode('{\"day\":20,\"month\":4}', true) ?: [];
// $apiKey = 'YOUR_API_KEY';
$ch = curl_init();
if (in_array('GET', ['GET', 'HEAD'], true)) {
$url = 'https://api.avrinbai.cn/api/tools/history-today' . (count($payload) ? ('?' . http_build_query($payload)) : '');
} else {
$url = 'https://api.avrinbai.cn/api/tools/history-today';
}
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => true,
CURLOPT_TIMEOUT => 25,
]);
$headers = [
'Accept: application/json',
];
// $headers[] = 'X-API-Key: ' . $apiKey;
if (! in_array('GET', ['GET', 'HEAD'], true)) {
$body = json_encode($payload, JSON_UNESCAPED_UNICODE);
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
}
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$raw = curl_exec($ch);
if ($raw === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$rawHeaders = substr($raw, 0, $headerSize);
$rawBody = substr($raw, $headerSize);
curl_close($ch);
echo "HTTP {$status}\n";
echo $rawHeaders . "\n";
echo $rawBody;
curl -sS -X GET \
"https://api.avrinbai.cn/api/tools/history-today" \
--get \
--data-urlencode 'payload={"day":20,"month":4}'