MIME 文件类型识别与上传校验
正常
NEW
本地文件类型识别与上传安全校验工具: 通过 base64 / hex / text 文件头做 magic bytes 匹配, 并对 ZIP/OOXML、OLE、PE、ISO BMFF、TAR、ISO 9660 做结构化解析。支持风险标记、扩展名一致性检查、期望类型列表/通配符与上传策略。纯本地算法, 无数据库、Redis 或外部 HTTP 依赖。
协议: HTTP
格式: JSON
版本: v1.0.0日调用量: 1268次
接口文档
产品说明
费用计算
错误码说明
更新日志
API 分支接口
健康检查
健康检查
调用方式: 在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET
http://www.shujuyu.cn/v1/api/mime/ping
复制
JSON
在线调试
请求参数
参数名 类型 必填 说明
key
string
是
您的API密钥,可在个人中心获取
返回参数说明
参数名 类型 说明
code
int
业务状态码,0 表示成功
msg
string
提示信息,健康检查为 pong
data
object
响应数据对象
data.name
string
服务名称
data.version
string
接口版本号
data.time
string
服务器当前时间,格式 Y-m-d H:i:s
data.timezone
string
服务器时区
data.endpoints
array
本服务接口清单
data.encodings
array
支持的输入编码(base64 / hex / text / auto)
data.profiles
array
支持的上传策略(image / document / safe)
data.signature_count
int
内置签名规则条数
data.categories
array
支持的分类清单
data.limits
object
输入长度、解码字节数、批量条数等上限
请求示例
请启用 JavaScript 以查看代码示例,或参考接口文档手动构造请求。
cURL
JavaScript
Python
PHP
Java
Go
C#
MCP
返回示例
复制代码
{"msg":"pong","code":0,"data":{"name":"MIME 文件类型识别 API","time":"2026-11-02 10:07:00","limits":{"head_size":32774,"max_batch":20,"max_input_length":65536,"max_decoded_length":65536,"max_lookup_results":100},"version":"1.0.0","profiles":["image","document","safe"],"timezone":"Asia/Shanghai","encodings":["base64","hex","text","auto"],"endpoints":["ping","signatures","detect","validate","lookup","batch"],"categories":["archive","audio","data","document","executable","font","image","model","text","video"],"signature_count":79}}
支持的签名列表
支持的签名列表
调用方式: 在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET
http://www.shujuyu.cn/v1/api/mime/signatures
复制
JSON
在线调试
请求参数
参数名 类型 必填 说明
key
string
是
您的API密钥,可在个人中心获取
返回参数说明
参数名 类型 说明
code
int
业务状态码,0 表示成功
msg
string
提示信息,成功为 success
data
object
响应数据对象
data.count
int
签名规则条数
data.categories
array
签名涉及的分类清单
data.signatures
array
签名详情数组,含 id、mime、扩展名、分类、说明、置信度与 magic 规则
请求示例
请启用 JavaScript 以查看代码示例,或参考接口文档手动构造请求。
cURL
JavaScript
Python
PHP
Java
Go
C#
MCP
返回示例
复制代码
{"msg":"success","code":0,"data":{"count":79,"categories":["archive","audio","data","document","executable","font","image","model","text","video"],"signatures":[{"id":"zip_docx","mime":"application/vnd.openxmlformats-officedocument.wordprocessingml.document","magic":["hex:504B0304@0","contains:word/"],"category":"document","confidence":"high","extensions":["docx"],"description":"Microsoft Word (OOXML)"},{"id":"image_png","mime":"image/png","magic":["hex:89504E470D0A1A0A@0"],"category":"image","confidence":"high","extensions":["png"],"description":"PNG image"}]}}
识别文件类型
以下格式不再依赖简单前缀, 而是解析文件结构
调用方式: 在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
POST
http://www.shujuyu.cn/v1/api/mime/detect
复制
JSON
在线调试
请求参数
参数名 类型 必填 说明
key
string
是
您的API密钥,可在个人中心获取
data
string
是
base64 / hex / text 数据
encoding
string
否
base64 / hex / text / auto
filename
string
否
可选文件名; 传入后返回扩展名一致性分析
返回参数说明
参数名 类型 说明
code
int
业务状态码,0 表示成功
msg
string
提示信息,成功为 success
data
object
响应数据对象
data.detected
bool
是否识别到已知类型
data.mime
string
识别出的 MIME 类型;未识别为 application/octet-stream
data.extensions
array
推荐的扩展名数组
data.category
string
类型分类,如 image / document / archive
data.description
string
格式说明
data.confidence
string
置信度等级:high / medium / low
data.confidence_score
int
置信度数值:90 / 60 / 30
data.signature_id
string
命中的稳定签名标识,如 image_png
data.matched
object
命中的结构化条件或签名规则
data.alternatives
array
同时命中的其他类型,如 ZIP / OOXML
data.flags
object
类型与风险标记对象
data.head_hex
string
文件头前 32 字节的十六进制表示
data.head_ascii
string
文件头前 32 字节的可打印字符表示
data.encoding_used
string
实际使用的输入编码
data.bytes_decoded
int
解码后的字节数
请求示例
请启用 JavaScript 以查看代码示例,或参考接口文档手动构造请求。
cURL
JavaScript
Python
PHP
Java
Go
C#
MCP
返回示例
复制代码
{"msg":"success","code":0,"data":{"mime":"image/png","flags":{"is_text":false,"is_binary":true,"is_script":false,"is_archive":false,"risk_level":"low","is_executable":false,"is_macro_enabled":false},"matched":{"conditions":[{"type":"hex","offset":0,"pattern":"89504E470D0A1A0A"}]},"category":"image","detected":true,"head_hex":"89504E470D0A1A0A000000000000000000000000000000000000000000000000","confidence":"high","extensions":["png"],"head_ascii":".PNG............................","description":"PNG image","alternatives":[],"signature_id":"image_png","bytes_decoded":108,"encoding_used":"base64","confidence_score":90}}
校验文件类型
识别数据, 并判断是否符合期望类型、上传策略和(可选)文件扩展名
调用方式: 在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
POST
http://www.shujuyu.cn/v1/api/mime/validate
复制
JSON
在线调试
请求参数
参数名 类型 必填 说明
key
string
是
您的API密钥,可在个人中心获取
data
string
是
base64 / hex / text 数据
encoding
string
否
base64 / hex / text / auto
expected
string
是
期望类型, 支持 MIME、扩展名、列表和通配符
profile
string
否
上传策略: image / document / safe
filename
string
否
文件名; 用于扩展名一致性与双扩展名检查
strict
bool
否
为真时, 文件名扩展名必须与识别结果一致
返回参数说明
参数名 类型 说明
code
int
业务状态码,0 表示成功
msg
string
提示信息,成功为 success
data
object
响应数据对象
data.valid
bool
综合校验结果,等于 expected_valid && extension_valid && profile_allowed !== false
data.expected
string
原始期望类型字符串
data.expected_type
string
期望写法类型:mime / extension / wildcard / list
data.expected_mimes
array
解析出的期望 MIME 列表
data.expected_extensions
array
解析出的期望扩展名列表
data.expected_wildcards
array
解析出的通配符列表,如 image/*
data.expected_tokens
array
期望值拆分后的原始片段列表
data.expected_valid
bool
识别结果是否命中期望类型
data.profile
string
本次使用的上传策略;未传为 null
data.profile_allowed
string
上传策略是否允许;未传 profile 为 null
data.strict
bool
是否启用严格扩展名模式
data.extension_valid
bool
扩展名一致性结果;非严格模式恒为 true
data.filename
string
文件名分析结果;未传 filename 为 null
data.detected
bool
是否识别到已知类型
data.mime
string
识别出的 MIME 类型
data.extensions
array
推荐扩展名数组
data.alternatives
array
同时命中的其他类型
data.matched_mime
string
最终命中的 MIME
data.matched_by
string
命中方式:mime / extension / wildcard
data.confidence
string
置信度等级:high / medium / low
data.confidence_score
int
置信度数值:90 / 60 / 30
data.signature_id
string
命中的稳定签名标识
data.flags
object
类型与风险标记对象
data.encoding_used
string
实际使用的输入编码
data.bytes_decoded
int
解码后的字节数
data.mismatch
string
校验失败原因汇总,多项以分号连接;全部通过为 null
请求示例
请启用 JavaScript 以查看代码示例,或参考接口文档手动构造请求。
cURL
JavaScript
Python
PHP
Java
Go
C#
MCP
返回示例
复制代码
{"msg":"success","code":0,"data":{"mime":"image/png","flags":{"is_text":false,"is_binary":true,"is_script":false,"is_archive":false,"risk_level":"low","is_executable":false,"is_macro_enabled":false},"valid":true,"strict":false,"profile":null,"detected":true,"expected":"image/png","filename":null,"mismatch":null,"confidence":"high","extensions":["png"],"matched_by":"mime","alternatives":[],"matched_mime":"image/png","signature_id":"image_png","bytes_decoded":16,"encoding_used":"base64","expected_type":"mime","expected_mimes":["image/png"],"expected_valid":true,"expected_tokens":["image/png"],"extension_valid":true,"profile_allowed":null,"confidence_score":90,"expected_wildcards":[],"expected_extensions":["png"]}}
查询签名
按 MIME、扩展名或关键词查询支持的签名
调用方式: 在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
POST
http://www.shujuyu.cn/v1/api/mime/lookup
复制
JSON
在线调试
请求参数
参数名 类型 必填 说明
key
string
是
您的API密钥,可在个人中心获取
mime
string
否
MIME 类型 (支持别名)
ext
string
否
扩展名, 可带前导点
q
string
否
关键词, 匹配 MIME/扩展名/描述/分类
返回参数说明
参数名 类型 说明
code
int
业务状态码,0 表示成功
msg
string
提示信息,成功为 success
data
object
响应数据对象
data.mime
string
本次查询使用的 MIME 条件
data.ext
string
本次查询使用的扩展名条件
data.q
string
本次查询使用的关键词条件
data.count
int
命中的签名规则数量
data.list
array
命中的签名详情数组
请求示例
请启用 JavaScript 以查看代码示例,或参考接口文档手动构造请求。
cURL
JavaScript
Python
PHP
Java
Go
C#
MCP
返回示例
复制代码
{"msg":"success","code":0,"data":{"q":null,"ext":null,"list":[{"id":"image_png","mime":"image/png","magic":["hex:89504E470D0A1A0A@0"],"category":"image","confidence":"high","extensions":["png"],"description":"PNG image"}],"mime":"image/png","count":1}}
批量识别
一次识别最多 20 项, 单条失败不影响其他项
调用方式: 在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
POST
http://www.shujuyu.cn/v1/api/mime/batch
复制
JSON
在线调试
请求参数
参数名 类型 必填 说明
key
string
是
您的API密钥,可在个人中心获取
items
array
是
1-20 项; 字符串项按默认编码, 对象项支持独立 data/encoding/filename
encoding
string
否
默认编码, 可被单项覆盖
返回参数说明
参数名 类型 说明
code
int
业务状态码,0 表示成功
msg
string
提示信息,成功为 success
data
object
响应数据对象
data.total
int
提交的识别项总数
data.returned
int
实际返回的项数
data.valid
int
成功解码并识别的项数
data.detected
int
识别到已知类型的项数
data.invalid_count
int
识别失败的项数
data.max_limit
int
单次批量识别上限
data.list
array
逐项识别结果数组,含下标、是否成功及结果或错误信息
请求示例
请启用 JavaScript 以查看代码示例,或参考接口文档手动构造请求。
cURL
JavaScript
Python
PHP
Java
Go
C#
MCP
返回示例
复制代码
{"msg":"success","code":0,"data":{"list":[{"ok":true,"index":0,"result":{"mime":"image/png","flags":{"...":"...","is_binary":true,"risk_level":"low"},"filename":{"...":"...","extension":"png","extension_match":true}}},{"ok":true,"index":1,"result":{"...":"...","mime":"application/zip"}},{"ok":false,"error":{"msg":"data 不是合法的 base64 / hex 数据","code":4001},"index":2}],"total":3,"valid":2,"detected":2,"returned":3,"max_limit":20,"invalid_count":1}}
产品说明
产品概述
本地文件类型识别与上传安全校验工具: 通过 base64 / hex / text 文件头做 magic bytes 匹配, 并对 ZIP/OOXML、OLE、PE、ISO BMFF、TAR、ISO 9660 做结构化解析。支持风险标记、扩展名一致性检查、期望类型列表/通配符与上传策略。纯本地算法, 无数据库、Redis 或外部 HTTP 依赖。
使用场景
数据查询:快速集成 MIME 文件类型识别与上传校验 到您的应用中
业务系统:将 MIME 文件类型识别与上传校验 数据嵌入业务流程
开发工具:通过 API 接口获取 开发工具 数据
数据分析:基于 MIME 文件类型识别与上传校验 数据进行分析和决策
费用计算
按次计费单价
¥0.002
/ 次
每次调用接口从账户余额中扣除相应费用,VIP 用户可享折扣
扣费优先级
计费方式详解
· 接口每日免费额度已关闭
· VIP 用户月度免费额度:
· 个人版:每月 5000 次,本接口月上限 5000 次
· 专业版:每月 30000 次,本接口月上限 30000 次
· 企业版:每月 200000 次,本接口月上限 200000 次
· 账户如有注册/活动赠送的免费次数,会优先于接口免费额度扣减
· VIP 月度免费额度仅适用于单次售价不高于 ¥0.0800/次 的接口;接口每日免费额度按接口配置执行
VIP 月度免费额度每月重置,未使用部分不累计至下月。
预付费购买固定调用次数,折算单价与按次付费相同,用完为止。
次数包为独立计费,不与 VIP 折扣叠加。
请在有效期内使用,过期后未使用的次数不可再用。
按次从账户余额扣除费用;所有用户可享量折扣,VIP 用户额外享 VIP 折扣。
扣费公式:实际扣费 = 接口单价 × (1 - VIP 折扣比例 - 量折扣比例),并受总折扣上限和最低利润率保护约束
VIP 折扣:
个人版9折
专业版8折
企业版7折
量折扣:
月付费调用 ≥1000 次享 2%、
月付费调用 ≥10000 次享 5%、
月付费调用 ≥20000 次享 10%
· 量折扣按账号当月全部接口的付费调用次数统计,达到更高档位时按更高档位计算
总折扣上限:VIP 折扣 + 量折扣合计不超过 50%
最低利润率保护:折后价不得低于成本价 × (1 + 15%);若接口售价本身低于该保护价,则取消折扣并按售价计费
余额不足时调用将失败,请及时充值。
VIP 权益对比
等级 每月免费次数 本接口月免费上限 折扣 VIP 折后单价
免费版
按接口配置
—
-
¥0.002/次
个人版
5000 次
5000 次
10%
¥0.0018/次
专业版
30000 次
30000 次
20%
¥0.0016/次
企业版推荐
200000 次
200000 次
30%
¥0.0014/次
* VIP 月度免费额度每月重置。每月免费次数为账号级 VIP 月额度,本接口月免费上限为其中对本接口的限制(接口可单独设置上限或关闭)。VIP 折扣仅适用于余额扣费方式,VIP 折后单价不含量折扣。
本接口已关闭接口级月度免费额度(不影响 VIP 月度免费额度)。接口每日免费额度已关闭。
费用计算示例
* 以下示例未包含量折扣,量折扣按账号当月全部接口的付费调用量另行计算。
示例1:普通用户按次付费
调用 1000 次,费用 = 0.002 × 1000 = ¥2.00
示例2:个人版用户按次付费(仅 VIP 折扣,已考虑最低利润率保护)
调用 1000 次,折扣约 10%,费用 = 0.002 × (1 - 10%) × 1000 ≈ ¥1.80
错误码说明
本接口未定义专属错误码,调用时请参考通用错误码体系。
查看通用错误码参考
错误码 说明 解决方案
200 请求成功 -
400000 请求参数错误 检查参数名、格式与取值
401000 认证失败 检查 Authorization: Bearer 密钥是否正确、是否过期
401002 缺少 API 认证参数 请求未携带 key,请通过 URL 参数 key 或请求头 Authorization 传递密钥
402000 账户余额不足 充值后重试
403000 无访问权限 确认密钥权限、接口范围与 IP 白名单是否满足要求
404001 接口或端点不存在 检查 API 与端点的请求路径
409000 请求冲突 请稍后重试
422000 参数校验失败 检查参数格式与取值
429001 请求频率超限(QPS) 降低请求频率,或升级套餐提升额度
429002 分钟级调用频率超限 降低调用频率,或升级套餐提升额度
429003 小时级调用额度已用完 升级套餐提升额度,或整点后重试
429004 今日调用额度已用完 升级套餐提升额度,或次日重试
500000 服务器内部错误 携带响应中的 request_id 联系技术支持
502000 服务暂时不可用 稍后重试
503000 服务暂时不可用 稍后重试
504000 请求超时 稍后重试