接口信息
GET,POST
https://api.xunjinlu.fun/api/icp/index.php
接口反馈
如果接口调用出现问题,请在此反馈(* 联系方式为必填项,建议填写QQ号以便联系)
免责声明
使用本平台接口即表示同意本声明。
1. 数据来源:接口数据来自第三方公开网络或用户上传,本平台不保证准确性、完整性、实时性,请以官方信息为准。
2. 合法性与安全性:本平台无法核实每个接口的安全性、合法性,使用者自行承担相关风险。
3. 用途限制:标注“学习专用”的接口禁止商用;严禁用于违法违规行为(如诈骗、赌博、侵权等)。违规后果由使用者自行承担。
4. 损害免责:使用本接口产生的任何直接或间接损失,本平台不承担责任。
5. 第三方上传:用户/商户上传的接口若侵权或违法,由上传者承担全部责任。
6. 监督配合:本平台依法记录访问日志,如发现违法活动将配合执法部门处理,并有权随时限制或封禁服务。
注:本平台保留最终解释权,并可能随时更新本声明。
| 参数名 |
类型 |
必填 |
描述 |
| key |
string |
否
|
平台 API 访问密钥(选填) |
| domain |
string |
是
|
需要查询的域名(如:baidu.com 或 https://www.baidu.com) |
[
{
"name": "key",
"type": "string",
"required": false,
"description": "平台 API 访问密钥(选填)",
"example": "sk_xxxxxxxxxxxxxxxx"
},
{
"name": "domain",
"type": "string",
"required": true,
"description": "需要查询的域名(如:baidu.com 或 https:\/\/www.baidu.com)",
"example": ""
}
]
{
"code": 200,
"msg": "success",
"data": {
"domain": "baidu.com",
"is_icp": true,
"icp_number": "京ICP证030173号",
"icp_status": "已备案",
"icp_province": "北京",
"icp_type": "证",
"icp_serial": "030173",
"site_index": "",
"unit_name": "北京百度网讯科技有限公司",
"nature_name": "企业",
"update_time": "2024-01-15 10:30:00",
"web_status": {
"status": "正常",
"http_code": 200,
"accessible": true
},
"response_time": "523ms",
"query_time": "2024-01-15 10:30:00"
},
"api_info": {
"developer": "尋鯨錄",
"blog": "https:\/\/www.xunjinlu.fun",
"api_platform": "https:\/\/api.xunjinlu.fun"
}
}
# ICP备案查询API详细文档
## API基础介绍
### 概述
ICP备案查询API是一个专业的域名备案信息查询服务接口,提供快速、准确的域名ICP备案信息查询功能。该接口支持多种域名格式输入,自动提取主域名,返回完整的备案信息,包括备案号、主办单位、备案状态、网站状态等详细信息。
### 版本信息
- **当前版本**:v5.1
- **发布日期**:2024年
- **兼容性**:PHP 7.4 / 8.0 / 8.2
- **开发者**:尋鯨錄
***
## API描述
### 功能描述
本API提供以下核心功能:
...
# ICP备案查询API详细文档
## API基础介绍
### 概述
ICP备案查询API是一个专业的域名备案信息查询服务接口,提供快速、准确的域名ICP备案信息查询功能。该接口支持多种域名格式输入,自动提取主域名,返回完整的备案信息,包括备案号、主办单位、备案状态、网站状态等详细信息。
### 版本信息
- **当前版本**:v5.1
- **发布日期**:2024年
- **兼容性**:PHP 7.4 / 8.0 / 8.2
- **开发者**:尋鯨錄
***
## API描述
### 功能描述
本API提供以下核心功能:
1. **ICP备案查询**
- 查询域名是否已备案
- 获取ICP备案号
- 查询备案状态(已备案/未备案)
2. **备案详情查询**
- 主办单位名称
- 性质名称(个人/企业等)
- 备案省份
- 备案类型(备/证)
- 备案序列号
- 网站编号
- 更新时间
3. **网站状态检测**
- 网站可访问性检测
- HTTP响应码获取
- 网站状态判断(正常/异常)
4. **智能域名提取**
- 从URL中提取主域名
- 从多级子域名中提取主域名
- 支持中国特殊域名处理
- 自动格式标准化
### 应用场景
- **网站合规性检查**:验证网站是否已完成ICP备案
- **备案信息查询**:获取网站备案详细信息
- **网站状态监控**:检测网站可访问性
- **批量备案检测**:批量查询多个域名的备案状态
- **备案主体查询**:获取主办单位名称和性质信息
***
## 核心特性
### 1. 智能域名提取
支持多种域名格式输入,自动提取主域名:
- ✅ URL格式:`https://www.xunjinlu.fun/path` → `xunjinlu.fun`
- ✅ 多级子域名:`api.api.xunjinlu.fun` → `xunjinlu.fun`
- ✅ 中国特殊域名:`www.example.com.cn` → `example.com.cn`
- ✅ 大小写混合:`API.XUNJINLU.FUN` → `xunjinlu.fun`
### 2. 高性能设计
- 响应时间:< 1秒
- 并发支持:支持高并发请求
- 缓存友好:备案信息变更频率低,适合缓存
***
## 接口信息
### 主接口
| 属性 | 值 |
| ---- | ---------------------------------------------------- |
| 接口地址 | <https://api.xunjinlu.fun/api/icp/> |
| 请求方式 | GET / POST |
| 请求格式 | application/json 或 application/x-www-form-urlencoded |
| 响应格式 | application/json |
| 字符编码 | UTF-8 |
| 版本 | 5.1 |
### 备用接口
| 属性 | 值 |
| ---- | ---------------------------------------------------- |
| 接口地址 | <https://api.xunjinlu.fun/api/icp/1.php> |
| 请求方式 | GET / POST |
| 请求格式 | application/json 或 application/x-www-form-urlencoded |
| 响应格式 | application/json |
| 字符编码 | UTF-8 |
***
## 请求参数说明
### 参数列表
| 参数名 | 类型 | 必填 | 默认值 | 说明 | 示例 |
| ------ | ------ | --- | ---- | --------------------- | ----------------------- |
| domain | string | 是 | null | 要查询的域名,支持多种格式输入(域名、URL、链接等) | baidu.com |
### 参数详细说明
#### domain(域名参数)
**类型**:字符串\
**必填**:是\
**用途**:指定要查询ICP备案信息的域名
**支持的格式**:
| 格式类型 | 输入示例 | 提取结果 |
| ------ | ---------------------------- | ---------------- |
| 纯域名 | `baidu.com` | `baidu.com` |
| 带www前缀 | `www.baidu.com` | `baidu.com` |
| 带协议头 | `https://baidu.com` | `baidu.com` |
| 完整URL | `https://www.baidu.com/path` | `baidu.com` |
| 二级域名 | `api.xunjinlu.fun` | `xunjinlu.fun` |
| 三级域名 | `api.api.xunjinlu.fun` | `xunjinlu.fun` |
| 中国域名 | `www.example.com.cn` | `example.com.cn` |
***
## 返回参数说明
### 成功响应结构
```json
{
"code": 200,
"msg": "success",
"data": {
// 数据对象
},
"api_info": {
// API信息
}
}
```
### 返回字段详细说明
#### 基础字段
| 字段名 | 类型 | 说明 | 示例值 |
| --------- | ------ | ----------- | ------- |
| code | int | 状态码,200表示成功 | 200 |
| msg | string | 状态描述 | success |
| data | object | 返回数据对象 | - |
| api\_info | object | API信息对象 | - |
#### data 对象字段
##### 基础信息字段
| 字段名 | 类型 | 说明 | 示例值 |
| ----------- | ------- | -------------- | ------------ |
| domain | string | 查询的域名(提取后的主域名) | xunjinlu.fun |
| is\_icp | boolean | 是否已备案 | true |
| icp\_number | string | ICP备案号 | 京ICP证030173号 |
| icp\_status | string | 备案状态 | 已备案 |
##### 备案详情字段
| 字段名 | 类型 | 说明 | 示例值 |
| ------------- | ------ | --------- | ------------------- |
| icp\_province | string | 备案省份 | 北京 |
| icp\_type | string | 备案类型(备/证) | 证 |
| icp\_serial | string | 备案序列号 | 030173 |
| site\_index | string | 网站编号 | 1 |
| unit\_name | string | 主办单位名称 | 北京百度网讯科技有限公司 |
| nature\_name | string | 性质名称 | 企业 |
| update\_time | string | 备案信息更新时间 | 2024-01-15 10:30:00 |
##### 网站状态字段
| 字段名 | 类型 | 说明 | 示例值 |
| ---------------------- | ------- | ----------- | ---- |
| web\_status | object | 网站状态信息对象 | - |
| web\_status.status | string | 网站状态(正常/异常) | 正常 |
| web\_status.http\_code | int | HTTP响应码 | 200 |
| web\_status.accessible | boolean | 是否可访问 | true |
##### 元数据字段
| 字段名 | 类型 | 说明 | 示例值 |
| -------------- | ------ | ---- | ------------------- |
| response\_time | string | 响应时间 | 523ms |
| query\_time | string | 查询时间 | 2024-01-15 10:30:00 |
#### api\_info 对象字段
| 字段名 | 类型 | 说明 | 示例值 |
| ------------- | ------ | ------- | -------------------------- |
| developer | string | 开发者 | 尋鯨錄 |
| blog | string | 开发者博客 | <https://www.xunjinlu.fun> |
| api\_platform | string | API平台地址 | <https://api.xunjinlu.fun> |
***
## 调用说明
### 请求方式
#### 1. GET 请求
```bash
curl "https://api.xunjinlu.fun/api/icp/?domain=baidu.com"
```
#### 2. POST 请求(JSON格式)
```bash
curl -X POST "https://api.xunjinlu.fun/api/icp/" \
-H "Content-Type: application/json" \
-d '{"domain": "baidu.com"}'
```
#### 3. POST 请求(表单格式)
```bash
curl -X POST "https://api.xunjinlu.fun/api/icp/" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "domain=baidu.com"
```
### 编程语言调用示例
#### PHP 示例
```php
<?php
/**
* ICP备案查询函数
*
* @param string $domain 要查询的域名
* @return array 返回备案信息数组
*/
function queryIcp($domain) {
$url = 'https://api.xunjinlu.fun/api/icp/';
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url . '?domain=' . urlencode($domain),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_SSL_VERIFYPEER => false,
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
// 使用示例
$result = queryIcp('baidu.com');
if ($result['code'] === 200) {
$data = $result['data'];
echo '域名:' . $data['domain'] . "\n";
echo '备案状态:' . $data['icp_status'] . "\n";
if ($data['is_icp']) {
echo '备案号:' . $data['icp_number'] . "\n";
echo '备案省份:' . $data['icp_province'] . "\n";
echo '主办单位:' . $data['unit_name'] . "\n";
}
}
?>
```
#### JavaScript 示例
```javascript
async function queryIcp(domain) {
const url = `https://api.xunjinlu.fun/api/icp/?domain=${encodeURIComponent(domain)}`;
const response = await fetch(url);
const result = await response.json();
if (result.code === 200) {
return result.data;
} else {
throw new Error(result.msg);
}
}
// 使用示例
queryIcp('baidu.com')
.then(data => {
console.log('域名:', data.domain);
console.log('备案状态:', data.icp_status);
});
```
***
## 域名提取功能
### 功能说明
接口内置智能域名提取功能,能够从各种格式的输入中自动提取主域名。
### 支持的域名格式
| 输入类型 | 输入示例 | 提取结果 |
| ------- | ------------------------------------------------- | ---------------- |
| URL路径 | `https://www.xunjinlu.fun/index.php/archives/15/` | `xunjinlu.fun` |
| URL API | `https://api.xunjinlu.fun/v1/users` | `xunjinlu.fun` |
| 二级域名 | `api.xunjinlu.fun` | `xunjinlu.fun` |
| 三级域名 | `api.api.xunjinlu.fun` | `xunjinlu.fun` |
| 多级子域名 | `a.b.c.xunjinlu.fun` | `xunjinlu.fun` |
| 中国域名 | `www.example.com.cn` | `example.com.cn` |
| 大小写混合 | `API.XUNJINLU.FUN` | `xunjinlu.fun` |
### 支持的顶级域名
- **国际通用顶级域名**:.com, .net, .org, .edu, .gov, .io, .ai 等
- **国家代码顶级域名**:.cn, .hk, .tw, .jp, .uk, .us 等
- **新顶级域名**:.top, .vip, .xyz, .shop, .online, .app 等
- **中国特殊域名**:.com.cn, .net.cn, .edu.cn, .gov.cn 等
***
## 错误处理
### 错误码说明
| 错误码 | 说明 | 解决方案 |
| --- | ------- | ------ |
| 200 | 查询成功 | - |
| 400 | 请求参数错误 | 检查参数格式 |
| 500 | 服务器内部错误 | 稍后重试 |
### 错误响应示例
```json
{
"code": 400,
"msg": "请传入domain参数",
"data": null,
"api_info": {
"developer": "尋鯨錄",
"blog": "https://www.xunjinlu.fun",
"api_platform": "https://api.xunjinlu.fun"
}
}
```
***
## 使用示例
### 示例1:基础查询
```bash
curl "https://api.xunjinlu.fun/api/icp/?domain=baidu.com"
```
### 示例2:多级子域名查询
```bash
curl "https://api.xunjinlu.fun/api/icp/?domain=api.api.xunjinlu.fun"
```
***
## 最佳实践
### 1. 缓存策略
备案信息变更频率较低,建议客户端实现缓存:
```php
<?php
function queryIcpWithCache($domain, $cacheTime = 86400) {
$cacheKey = 'icp_' . md5($domain);
$cacheFile = '/tmp/' . $cacheKey . '.json';
if (file_exists($cacheFile) && (time() - filemtime($cacheFile)) < $cacheTime) {
return json_decode(file_get_contents($cacheFile), true);
}
$result = queryIcp($domain);
if ($result['code'] === 200) {
file_put_contents($cacheFile, json_encode($result));
}
return $result;
}
?>
```
### 2. 超时设置
建议设置30秒超时:
```php
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
```
### 3. 并发控制
批量查询时建议控制并发量:
```php
<?php
$maxConcurrent = 5;
// 实现并发控制逻辑
?>
```
***
> **由 AI 生成**:本接口文档由 AI 根据配置自动生成,仅供参考,实际接口行为以官方文档为准。
## 接口简介
本 API 用于查询网站的 ICP 备案信息,支持实时获取域名备案详情,包括备案号、主体信息、备案省份、网站状态等。适用于企业资质审核、域名安全检测等场景,无需鉴权。
## 请求说明
- **URL**:`https://api.xunjinlu.fun/api/icp/index.php`
- **方法**:`GET` / `POST`
- **请求头**:`Accept: application/json`
## 请求参数表
| 名称 | 类型 | 必填 | 说明 |
|--------|--------|------|--------------------------|
| domain | string | 是 | 需查询的域名(如:baidu.com) |
## 返回字段表
| 字段名 | 类型 | 说明 ...
> **由 AI 生成**:本接口文档由 AI 根据配置自动生成,仅供参考,实际接口行为以官方文档为准。
## 接口简介
本 API 用于查询网站的 ICP 备案信息,支持实时获取域名备案详情,包括备案号、主体信息、备案省份、网站状态等。适用于企业资质审核、域名安全检测等场景,无需鉴权。
## 请求说明
- **URL**:`https://api.xunjinlu.fun/api/icp/index.php`
- **方法**:`GET` / `POST`
- **请求头**:`Accept: application/json`
## 请求参数表
| 名称 | 类型 | 必填 | 说明 |
|--------|--------|------|--------------------------|
| domain | string | 是 | 需查询的域名(如:baidu.com) |
## 返回字段表
| 字段名 | 类型 | 说明 |
|--------------|---------|------------------------------------------|
| code | int | 状态码(200 表示成功) |
| msg | string | 响应消息 |
| data | object | 备案详情数据 |
| └─ domain | string | 查询的域名 |
| └─ is_icp | bool | 是否已备案 |
| └─ icp_number| string | 备案号(如:京ICP证030173号) |
| └─ icp_status| string | 备案状态(如:已备案) |
| └─ icp_province| string| 备案省份(如:北京) |
| └─ icp_type | string | 备案类型(如:证) |
| └─ unit_name | string | 主体名称(如:北京百度网讯科技有限公司)|
| web_status | object | 网站状态 |
| api_info | object | API 信息(开发者、博客等) |
## 返回 JSON 示例
### 成功响应
```json
{
"code": 200,
"msg": "success",
"data": {
"domain": "baidu.com",
"is_icp": true,
"icp_number": "京ICP证030173号",
"icp_status": "已备案",
"icp_province": "北京",
"unit_name": "北京百度网讯科技有限公司",
"web_status": {
"status": "正常",
"accessible": true
}
}
}
```
### 失败响应
```json
{
"code": 404,
"msg": "域名未备案"
}
```
## 错误与状态
- `200`:查询成功
- `404`:域名未备案或无效
- 其他状态码以实际返回 `msg` 为准
## 调用示例
### 直接访问
```
https://api.xunjinlu.fun/api/icp/index.php?domain=baidu.com
```
### cURL
```bash
curl -X GET "https://api.xunjinlu.fun/api/icp/index.php?domain=baidu.com"
```
### Python requests
```python
import requests
url = "https://api.xunjinlu.fun/api/icp/index.php"
params = {"domain": "baidu.com"}
response = requests.get(url, params=params)
print(response.json())
```
### PHP
```php
<?php
$url = "https://api.xunjinlu.fun/api/icp/index.php";
$data = ["domain" => "baidu.com"];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
```
### HTML
```html
<img src="https://api.xunjinlu.fun/api/icp/index.php?domain=baidu.com" alt="ICP查询结果">
```
在线测试
https://api.xunjinlu.fun/api/icp/index.php