验证码识别

这篇文章使用的验证码识别来自于阿里云API市场,需要进入阿里云API市场购买产品,获得APPCODE,才能获得使用权限,新用户有500次免费额度,具体操作如下。

一、获取APPCODE

1. 打开购买链接,选择【0元/500次】,点击【立即购买】
在这里插入图片描述
2. 支付完成后,点击【管理控制台】
在这里插入图片描述
3. 复制APPCODE
在这里插入图片描述

二、调用API接口,识别验证码

以下所有代码,均来自上述验证码识别产品页的示例代码

1. python代码
(1) 将前面获得的APPCODE粘贴到代码第9行。
(2) 根据识别图片的来源,修改第15行,如果图片保存在本地,第15行修改为True,并把图片路径写到第18行;如果图片来源于网络,第15行不必修改,把图片的URL链接地址写到第26行。

import urllib
import urllib.request
import base64

#API产品路径
host = 'https://codevirify.market.alicloudapi.com'
path = '/icredit_ai_image/verify_code/v1'
#阿里云APPCODE
appcode = '阿里云APPCODE'
url = host + path 
bodys = {}
querys = ""

#参数配置
if False:
    #启用BASE64编码方式进行识别
    #内容数据类型是BASE64编码
    f = open(r'本地图片路径', 'rb')
    contents = base64.b64encode(f.read())
    f.close()
    bodys['IMAGE'] = contents
    bodys['IMAGE_TYPE'] = '0'
else:
    #启用URL方式进行识别
    #内容数据类型是图像文件URL链接
    bodys['IMAGE'] = 'URL链接地址'
    bodys['IMAGE_TYPE'] = '1'

post_data = urllib.parse.urlencode(bodys).encode('utf-8')
request = urllib.request.Request(url, post_data)
request.add_header('Authorization', 'APPCODE ' + appcode)
request.add_header('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8')
response = urllib.request.urlopen(request)
content = response.read()
if (content):
    print(content.decode('utf-8'))

三、识别效果

在这里插入图片描述

{
  "VERIFY_CODE_STATUS": "艾科瑞特,让企业业绩长青",
  "VERIFY_CODE_ENTITY": {
    "VERIFY_CODE": "3X1Z"
  }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值