图形验证码识别API
高精度识别各类图形验证码,支持常见的数字、字母、算术表达式等类型,助力自动化测试与数据采集。
请输入有效的图片URL地址
点击或拖拽图片到此处上传
支持 JPG、PNG、GIF 格式,最大 5MB
图片预览
正在处理...
正在上传图片并识别验证码,请稍候...
响应结果
识别结果
验证码内容
处理状态
响应时间
处理失败
请检查您的输入或稍后再试
API概述
图形验证码识别API提供高精度的验证码自动识别服务,支持多种常见的验证码类型,包括数字、字母、算术表达式等。该API采用先进的深度学习技术,能够快速准确地识别各类图形验证码,为自动化测试、数据采集等场景提供有力支持。
您可以将此API集成到您的应用程序、爬虫或自动化测试工具中,以解决验证码拦截问题,提高工作效率。
API端点
GET https://api.vitphp.cn/Yzcode/
请求参数
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
img | string | 是 | 图片地址,可以是URL或Base64编码的图片数据 |
响应格式
API返回JSON格式的数据,包含以下字段:
{
"code": 1,
"message": "success",
"captcha": "9045"
}
字段 | 类型 | 描述 |
---|---|---|
code | integer | 响应状态码,1表示成功,非1表示错误 |
message | string | 响应消息,成功时返回"success",失败时返回错误信息 |
captcha | string | 识别出的验证码内容 |
错误代码
当code字段不为1时,表示请求出错,可能的错误代码如下:
错误代码 | 描述 |
---|---|
0 | 未知错误 |
1001 | 缺少必需的参数 |
1002 | 无效的图片URL |
1003 | 无法访问图片URL |
1004 | 无效的Base64编码 |
1005 | 不支持的图片格式 |
1006 | API调用频率超过限制 |
1007 | API密钥无效或已过期 |
支持的验证码类型
图形验证码识别API支持以下类型的验证码:
类型 | 描述 |
---|---|
数字验证码 | 仅包含数字的验证码 |
字母验证码 | 仅包含字母(大小写混合)的验证码 |
数字字母混合验证码 | 包含数字和字母的验证码 |
算术表达式验证码 | 需要计算简单算术表达式结果的验证码 |
扭曲变形验证码 | 字符经过扭曲、变形处理的验证码 |
干扰线验证码 | 带有干扰线的验证码 |
干扰点验证码 | 带有干扰点的验证码 |
使用限制
- 免费版每分钟最多可调用5次API
- 图片大小不能超过5MB
- 图片格式必须为JPG、PNG或GIF
- 对于特别复杂的验证码,识别准确率可能会有所下降
- 请合理使用API,避免频繁调用
示例代码
Python示例
import requests
import base64
def recognize_captcha(image_path=None, image_url=None):
url = "https://api.vitphp.cn/Yzcode/"
if image_path:
# 从文件读取并转换为Base64
with open(image_path, "rb") as image_file:
encoded_string = base64.b64encode(image_file.read()).decode('utf-8')
params = {"img": f"data:image/jpeg;base64,{encoded_string}"}
elif image_url:
params = {"img": image_url}
else:
print("请提供图片路径或图片URL")
return None
try:
response = requests.get(url, params=params)
data = response.json()
if data["code"] == 1:
print("识别结果:", data["captcha"])
return data["captcha"]
else:
print(f"请求错误: {data['message']}")
return None
except Exception as e:
print(f"发生异常: {e}")
return None
# 使用示例 - 通过URL识别
image_url = "https://shop.mzapp.cn/captcha.html"
result = recognize_captcha(image_url=image_url)
# 使用示例 - 通过文件识别
# result = recognize_captcha(image_path="path/to/your/image.jpg")
JavaScript示例
async function recognizeCaptcha(imageUrl) {
try {
const response = await fetch(`https://api.vitphp.cn/Yzcode/?img=${encodeURIComponent(imageUrl)}`);
const data = await response.json();
if (data.code === 1) {
console.log("识别结果:", data.captcha);
return data.captcha;
} else {
console.error("请求错误:", data.message);
return null;
}
} catch (error) {
console.error("发生异常:", error);
return null;
}
}
// 使用示例
const imageUrl = "https://shop.mzapp.cn/captcha.html";
recognizeCaptcha(imageUrl).then(result => {
if (result) {
console.log("验证码识别成功:", result);
}
});
PHP示例
function recognizeCaptcha($imageUrl = null, $imageBase64 = null) {
$url = "https://api.vitphp.cn/Yzcode/";
if ($imageUrl) {
$params = ["img" => $imageUrl];
} elseif ($imageBase64) {
$params = ["img" => "data:image/jpeg;base64," . $imageBase64];
} else {
echo "请提供图片URL或Base64编码的图片数据";
return null;
}
$query = http_build_query($params);
$fullUrl = $url . '?' . $query;
$options = [
'http' => [
'method' => 'GET',
'timeout' => 30,
]
];
$context = stream_context_create($options);
$response = file_get_contents($fullUrl, false, $context);
if ($response === false) {
echo "请求失败";
return null;
}
$data = json_decode($response, true);
if ($data['code'] == 1) {
echo "识别结果: " . $data['captcha'];
return $data['captcha'];
} else {
echo "请求错误: " . $data['message'];
return null;
}
}
// 使用示例 - 通过URL识别
$imageUrl = "https://shop.mzapp.cn/captcha.html";
$result = recognizeCaptcha($imageUrl);
cURL示例
# 通过URL识别验证码
curl "https://api.vitphp.cn/Yzcode/?img=https%3A%2F%2Fshop.mzapp.cn%2Fcaptcha.html"
# 响应示例
{
"code": 1,
"message": "success",
"captcha": "9045"
}
如何使用API?
使用本API非常简单,只需向API端点发送一个GET请求,并在请求参数中包含图片URL或Base64编码的图片数据即可。具体步骤如下:
- 准备好需要识别的验证码图片URL或图片文件
- 构建请求URL:https://api.vitphp.cn/Yzcode/?img=图片URL
- 发送GET请求
- 解析返回的JSON数据,获取识别结果
您可以在"在线调试"标签页中测试API的使用,也可以参考"示例代码"标签页中的代码示例进行集成。
识别准确率如何?
本API的识别准确率取决于验证码的复杂程度。对于简单的数字验证码,准确率可以达到99%以上;对于包含字母、算术表达式的验证码,准确率约为95%;对于包含复杂干扰线、扭曲变形的验证码,准确率约为90%。
我们不断优化识别算法,提高识别准确率,如果您遇到识别准确率较低的情况,请提供验证码样本,我们会针对性地进行优化。
API如何收费?
我们提供灵活的收费方案:
- 免费版:每月1000次调用,适合个人开发者测试使用
- 基础版:99元/月,10万次调用,适合小型项目
- 企业版:299元/月,50万次调用,适合中型项目
- 定制版:根据需求定制,适合大型项目
所有套餐均不限请求频率,如需更高调用量或其他特殊需求,请联系我们获取定制方案。
有使用限制吗?
是的,不同版本有不同的调用限制:
- 免费版:每分钟最多5次请求,每月最多1000次请求
- 基础版:每分钟最多50次请求,每月最多10万次请求
- 企业版:每分钟最多200次请求,每月最多50万次请求
- 定制版:根据合同约定
图片大小不能超过5MB,图片格式必须为JPG、PNG或GIF。
支持哪些类型的验证码?
本API支持多种类型的验证码,包括:
- 数字验证码
- 字母验证码
- 数字字母混合验证码
- 算术表达式验证码
- 扭曲变形验证码
- 干扰线验证码
- 干扰点验证码
对于特别复杂的验证码,识别准确率可能会有所下降。
响应时间是多久?
API的平均响应时间在300毫秒到1秒之间,具体取决于验证码的复杂程度和服务器负载情况。对于简单的验证码,响应时间通常在300毫秒左右;对于复杂的验证码,响应时间可能会延长到1秒左右。
遇到问题如何解决?
如果您在使用API过程中遇到问题,可以按照以下步骤解决:
- 检查请求参数是否正确,特别是图片URL是否有效
- 查看响应中的错误代码和错误信息,参考"错误代码"部分进行排查
- 检查网络连接是否正常
- 检查API调用频率是否超过限制
- 如果以上方法无法解决问题,请联系我们的技术支持团队,提供详细的请求信息和错误信息
我们的技术支持团队会在24小时内回复您的问题。