给大家免费分享一个免费的验证码识别的接口
我先给你演示看看效果
我先把图片转换成base64格式,然后请求接口返回信息
这是我的测试验证码图片
然后下面是模拟请求的结果
请求地址:
https://www.xdapi.com/api/ocr/ty01?key=替换你自己的key
请求HEADER:
application/json;charset:utf-8;
也可以用 application/x-www-form-urlencoded
接口请求参数:
{
"image": "data:image/png;base64,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"
}
附上源代码
PHP
<?php
/**
* API请求DEMO
*
* 本demo支持GET与POST请求,同时支持签名验证与无需签名。
*/
//你申请的key密钥
$API_KEY = '3iPFQfolbmKCl5ZHNDnwE3bMDY';
//API接口地址
$API_URL = 'https://www.xdapi.com/api/ocr/ty01';
$get_post_data = array(
//接口参数,一行一个,可按照接口文档-请求参数 的参数填写,或者直接复制开发工具下面的测试代码。
'key' => $API_KEY,
'参数名' => '参数值',
);
//签名校验的 SK:(在用户控制台https://www.xdapi.com/user/key的秘钥安全设置->签名校验 开启后才会生效,没开启签名校验留空即可。)
$sk = '0c6fc0a9728d2da63893d4bf2069239b';
/*发起请求API接口:
第1个参数:API接口地址URL,跟上面的同名变量相对应,无需更改。
第2个参数:API接口参数数组,跟上面的同名变量相对应,无需更改。
第3个参数:请求协议(GET或POST),一般默认GET,部分接口需要POST请求,根据实际情况修改为POST即可。
第4个参数:是否验证签名,true验证签名,否则false不验证签名,根据用户控制台 https://www.xdapi.com/user/key 的 秘钥安全设置->签名校验 开启后才会生效,如没开启,填写false即可。
第5个参数:如果第4个参数开启验证签名,此处必须填写 SK ,跟上面的同名变量相对应,无需更改。
*/
$resdata = api::send($API_URL, $get_post_data, 'GET', true, $sk); //发起请求,注意这里要选择接口支持的协议,默认GET,可选POST
//打印请求结果
print($resdata);
///你的业务代码可写在这里处理API返回的数据
/**
* API请求类
*/
class api
{
public static function send($API_URL, $get_post_data, $type, $ifsign, $sk)
{
$get_post_data = http_build_query($get_post_data);
if ($ifsign) {
$sign = md5($get_post_data . $sk);
$res = self::send_curl($API_URL, $type, $get_post_data, $sign);
} else {
$res = self::send_curl($API_URL, $type, $get_post_data, null);
}
return $res;
}
//封装好的CURL请求函数,支持POST|GET
public static function send_curl($API_URL, $type, $get_post_data, $sign)
{
$ch = curl_init();
if ($type == 'POST') {
curl_setopt($ch, CURLOPT_URL, $API_URL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $get_post_data);
} elseif ($type == 'GET') {
curl_setopt($ch, CURLOPT_URL, $API_URL . '?' . $get_post_data);
}
if ($sign) {
curl_setopt($ch, CURLOPT_HTTPHEADER, ['sign:' . $sign]);
}
curl_setopt($ch, CURLOPT_REFERER, $API_URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$resdata = curl_exec($ch);
curl_close($ch);
return $resdata;
}
}
python
导入requests库
import requests
设置url
url = ‘https://www.xdapi.com/api/ocr/ty01?key=3iPFQfolbmKCl5ZHNDnwE3bMDY’
发送post请求
response = requests.post(url, data={‘key1’: ‘value1’, ‘key2’: ‘value2’})
获取响应内容
result = response.json()
打印结果
print(result)
Go
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
// 发起一个GET请求
resp, err := http.Get("https://www.xdapi.com/api/ocr/ty01?key=3iPFQfolbmKCl5ZHNDnwE3bMDY")
if err != nil {
fmt.Println("http get error", err)
return
}
// 读取响应结果
result, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("http read error", err)
return
}
// 关闭响应结果
defer resp.Body.Close()
fmt.Println(string(result))
}