Media Saber 使用的验证码 OCR 识别服务,成功率 90%以上。现已使用 Go 重写,性能更高,体积更小。
URL: https://IP或者域名/captcha/base64
方法: POST
请求体:
{
"base64_img": "图片的base64编码字符串"
}
响应:
{
"result": "识别出的验证码文本(仅字母和数字)"
}
在运行前需要设置以下环境变量:
export OCR_APP_ID="你的百度OCR App ID"
export OCR_API_KEY="你的百度OCR API Key"
export OCR_SECRET_KEY="你的百度OCR Secret Key"
docker build -t media-saber-ocr .
docker run -d \
--name media-saber-ocr \
-p 9898:9898 \
-e OCR_APP_ID="your_app_id" \
-e OCR_API_KEY="your_api_key" \
-e OCR_SECRET_KEY="your_secret_key" \
media-saber-ocr
你也可以直接使用预构建的Docker镜像,无需本地构建:
docker run -d \
--name media-saber-ocr \
-p 9898:9898 \
-e OCR_APP_ID="your_app_id" \
-e OCR_API_KEY="your_api_key" \
-e OCR_SECRET_KEY="your_secret_key" \
xylplm/media-saber-baidu-ocr:latest
创建 docker-compose.yml 文件:
version: "3.8"
services:
media-saber-ocr:
image: xylplm/media-saber-baidu-ocr:latest
ports:
- "9898:9898"
environment:
- OCR_APP_ID=your_app_id
- OCR_API_KEY=your_api_key
- OCR_SECRET_KEY=your_secret_key
- GIN_MODE=release
restart: unless-stopped
container_name: media-saber-ocr
运行:
docker-compose up -d
| 指标 | Python 版本 | Go 版本 | 改善 |
|---|---|---|---|
| 镜像大小 | ~1GB | ~20MB | 98% ↓ |
| 内存占用 | ~200MB | ~40MB | 80% ↓ |
| 启动时间 | ~3s | ~50ms | 98% ↓ |
| 并发处理 | 受限 | 优秀 | 显著提升 |
| CPU 使用 | 较高 | 较低 | 30-50% ↓ |
服务提供以下接口:
GET / - 健康检查和欢迎信息POST /captcha/base64 - OCR 识别接口所有请求和错误都会记录到标准输出,便于容器环境下的日志收集。
Content type
Image
Digest
sha256:64212ea21…
Size
17.1 MB
Last updated
9 months ago
docker pull xylplm/media-saber-baidu-ocr