云打码

1、云打码平台注册开发者模式用户登录

2、建立项目,下载项目案列代码接口

代码如下:

 1 import http.client, mimetypes, urllib, json, time, requests
 2 
 3 ######################################################################
 4 
 5 class YDMHttp:
 6 
 7     apiurl = 'http://api.yundama.com/api.php'
 8     username = ''
 9     password = ''
10     appid = ''
11     appkey = ''
12 
13     def __init__(self, username, password, appid, appkey):
14         self.username = username  
15         self.password = password
16         self.appid = str(appid)
17         self.appkey = appkey
18 
19     def request(self, fields, files=[]):
20         response = self.post_url(self.apiurl, fields, files)
21         response = json.loads(response)
22         return response
23     
24     def balance(self):
25         data = {'method': 'balance', 'username': self.username, 'password': self.password, 'appid': self.appid, 'appkey': self.appkey}
26         response = self.request(data)
27         if (response):
28             if (response['ret'] and response['ret'] < 0):
29                 return response['ret']
30             else:
31                 return response['balance']
32         else:
33             return -9001
34     
35     def login(self):
36         data = {'method': 'login', 'username': self.username, 'password': self.password, 'appid': self.appid, 'appkey': self.appkey}
37         response = self.request(data)
38         if (response):
39             if (response['ret'] and response['ret'] < 0):
40                 return response['ret']
41             else:
42                 return response['uid']
43         else:
44             return -9001
45 
46     def upload(self, filename, codetype, timeout):
47         data = {'method': 'upload', 'username': self.username, 'password': self.password, 'appid': self.appid, 'appkey': self.appkey, 'codetype': str(codetype), 'timeout': str(timeout)}
48         file = {'file': filename}
49         response = self.request(data, file)
50         if (response):
51             if (response['ret'] and response['ret'] < 0):
52                 return response['ret']
53             else:
54                 return response['cid']
55         else:
56             return -9001
57 
58     def result(self, cid):
59         data = {'method': 'result', 'username': self.username, 'password': self.password, 'appid': self.appid, 'appkey': self.appkey, 'cid': str(cid)}
60         response = self.request(data)
61         return response and response['text'] or ''
62 
63     def decode(self, filename, codetype, timeout):
64         cid = self.upload(filename, codetype, timeout)
65         if (cid > 0):
66             for i in range(0, timeout):
67                 result = self.result(cid)
68                 if (result != ''):
69                     return cid, result
70                 else:
71                     time.sleep(1)
72             return -3003, ''
73         else:
74             return cid, ''
75 
76     def report(self, cid):
77         data = {'method': 'report', 'username': self.username, 'password': self.password, 'appid': self.appid, 'appkey': self.appkey, 'cid': str(cid), 'flag': '0'}
78         response = self.request(data)
79         if (response):
80             return response['ret']
81         else:
82             return -9001
83 
84     def post_url(self, url, fields, files=[]):
85         for key in files:
86             files[key] = open(files[key], 'rb');
87         res = requests.post(url, files=files, data=fields)
88         return res.text
YDMHttp类
 1 # 用户名
 2 username    = 'duanhaoxin'
 3 
 4 # 密码
 5 password    = 'qwer1234'                            
 6 
 7 # 软件ID,开发者分成必要参数。登录开发者后台【我的软件】获得!
 8 appid       = 6372                                     
 9 
10 # 软件密钥,开发者分成必要参数。登录开发者后台【我的软件】获得!
11 appkey      = '9b672eb204d7eede7ddeda5a87d7be08'    
12 
13 # 图片文件
14 filename    = 'getimage.jpg'                        
15 
16 # 验证码类型,# 例:1004表示4位字母数字,不同类型收费不同。请准确填写,否则影响识别率。在此查询所有类型 http://www.yundama.com/price.html
17 codetype    = 1004
18 
19 # 超时时间,秒
20 timeout     = 10                                    
21 
22 # 检查
23 if (username == 'username'):
24     print('请设置好相关参数再测试')
25 else:
26     # 初始化
27     yundama = YDMHttp(username, password, appid, appkey)
28 
29     # 登陆云打码
30     uid = yundama.login();
31     print('uid: %s' % uid)
32 
33     # 查询余额
34     balance = yundama.balance();
35     print('balance: %s' % balance)
36 
37     # 开始识别,图片路径,验证码类型ID,超时时间(秒),识别结果
38     cid, result = yundama.decode(filename, codetype, timeout);
39     print('cid: %s, result: %s' % (cid, result))
用户信息代码

 

转载于:https://www.cnblogs.com/duanhaoxin/p/10110823.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[css] 手动写动画最小时间间隔是多少,为什么?

[css] 手动写动画最小时间间隔是多少&#xff0c;为什么&#xff1f; 一般浏览器的刷新频率为每秒60次&#xff0c;所以最小事件间隔为 1/60*1000 约 16.7ms个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起…

Perhaps you are running on a JRE rather than a JDK? 关于 idea maven 缓存的问题 清理 idea maven 缓存

大家好&#xff0c;我是烤鸭&#xff1a; 1. 先检查是否环境变量的问题 参考这篇 https://blog.csdn.net/mingjie1212/article/details/106963143 2. 如果确定环境变量没问题 执行maven install的时候报错&#xff0c;Perhaps you are running on a JRE rather than a JDK …

[css] 怎样把一个div居中?怎样把一个浮动元素居中?怎样把绝对定位的div居中?

[css] 怎样把一个div居中&#xff1f;怎样把一个浮动元素居中&#xff1f;怎样把绝对定位的div居中&#xff1f; 主要用到:text-alin: center;margin: 0 auto;position: relative | absolute; left: 50%;vertical-align: middle;transform: translate(-50%);个人简介 我是歌谣…

swift - 使用系统app导航

import UIKit//1.导入框架 import MapKitclass ViewController: UIViewController {lazy var geoCoder : CLGeocoder {return CLGeocoder()}()override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {geoCoder.geocodeAddressString("广州&…

springcloud gateway 使用nacos 作为配置中心 和 注册中心

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享下 springcloud gateway 使用nacos作为配置中心和注册中心&#xff0c;主要是还是配置中心。 源码下载&#xff1a; https://gitee.com/fireduck_admin/springcloud-gateway-nacos-demo 1. 本地部署nacos 下载 https://g…

[css] 用css画一个太阳

[css] 用css画一个太阳 // css.sun {margin: 200px;width: 200px;height: 200px;border-radius: 50%;background: red;box-shadow: 0 0 21px #fe9e9e;position: relative;}// ::before & ::after 辅助.sun::before {width: 0;height: 500px;content: ;border-left: 1px s…

java后台工具类-通过交易码获得方法名

import org.apache.log4j.Logger;import net.sf.json.JSONObject;public class GetResultByTransCode {private final static Logger log4j Logger.getLogger(GetResultByTransCode.class);/*** 功能描述&#xff1a;通过交易码查询服务名及方法名* param transCode* return J…

springboot 拦截器的坑 WebMvcConfigurationSupport 失效

大家好&#xff0c;我是烤鸭&#xff1a; 今天遇到一个拦截器失效的问题&#xff0c;具体看源码分析下。 环境: springboot 2.x spring 5.x 1. 先说下业务场景 需求是对请求进入时和离开时对和线程id绑定&#xff0c;用的Threadlocal&#xff0c;现在有一个问题&#xff0…

[css] 你有用过哪些css框架?说说它们的特点

[css] 你有用过哪些css框架&#xff1f;说说它们的特点 bootstrap 不够全&#xff0c;所以后来基本都是借鉴思路取长补短自己写的 css 类库或原子类库。 animate.css 用起来很爽&#xff0c;主要用于滚动和小动效。过渡动画当然还是 clip.js 来弄的。 Tent CSS&#xff0c;WeU…

14 内置函数2

今日主要内容 1. 昨日补充 repr() 显示出字符串的官方表示形式 chr() ord() 2. 递归 自己调用自己 递归的入口(参数) 和 出口(return) 树形结构的遍历 3. 二分法 掐头结尾取中间 查找效率非常的高1.递…

skywalking 源码解析——多线程变量传递 EnhancedInstance

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享下 skywalking源码&#xff0c;正好自己用到相关的内容了。 1. 拦截点 三个主要的拦截器、构造方法、静态方法和示例方法&#xff0c;每个切面里都可以重写这些方法&#xff0c;并且指定进入的拦截器。 2. trace 相关内容 …

[css] box-sizing常用的属性有哪些?分别有什么作用?

[css] box-sizing常用的属性有哪些&#xff1f;分别有什么作用&#xff1f; box-sizing常用的属性有 content-box 和 border-box。content-box 盒子的宽度不包含 border和padding&#xff0c;border-box盒子的宽度包含border 和padding。个人简介 我是歌谣&#xff0c;欢迎和大…

2018-2019-1 20165303 实验五 通讯协议设计

任务一 Linux下OpenSSL的安装与使用 前往OpenSSL官网&#xff0c;选择打开OpenSSL源码下载地址&#xff0c;按照下图所示方法下载压缩包“openssl-master.zip Linux下使用unzip openssl-master.zip命令解压 安装的具体命令如下&#xff1a;$ ./config$ make$ make test$ make i…

从字节码看 finally关键字、异常表

大家好&#xff0c;我是烤鸭&#xff1a; 今天说下 finally 这个关键字。 1. 认识finally finally 总是跟 try、catch一起出现&#xff0c;finally是执行方法结束一定要执行的代码&#xff0c;比如流关闭等等。 finally是如何实现在异常捕捉之后保证执行 finally 代码块里的…

[css] inline、block、inline-block这三个属性值有什么区别?

[css] inline、block、inline-block这三个属性值有什么区别&#xff1f; inline&#xff1a; 行内元素&#xff0c;元素不独占一行&#xff0c;不可以修改宽高 block&#xff1a; 块级元素&#xff0c;元素独占一行&#xff0c;可以修改宽高 inline-block&#xff1a; 行内块级…

BZOJ3110: [Zjoi2013]K大数查询(整体二分)

Description 有N个位置&#xff0c;M个操作。操作有两种&#xff0c;每次操作如果是1 a b c的形式表示在第a个位置到第b个位置&#xff0c;每个位置加入一个数c如果是2 a b c形式&#xff0c;表示询问从第a个位置到第b个位置&#xff0c;第C大的数是多少。 Input 第一行N&#…

Unhandled exception: org.springframework.beans.factory.BeanDefinitionStoreException

大家好&#xff0c;我是烤鸭&#xff1a; ​ 使用 idea 莫名其妙的错误。 无法编译 异常已经 catch 住了&#xff0c;提示明显是有问题的。 再看一下 maven install 的结果 Error:(99, 100) java: 无法访问org.springframework.core.env.EnvironmentCapable 找不到org.spr…

[css] margin和padding使用的场景有哪些?

[css] margin和padding使用的场景有哪些&#xff1f; 实现自适应的等比例矩形效果&#xff1a; div { padding: 50%; } div { padding: 25% 50%; } //宽高比为 2:1 的矩形效果实现头图高度天然等比例缩小效果 .box { padding: 10% 50%; position: relative; } .box > img {…

poj 1637 Sightseeing tour——最大流+欧拉回路

题目&#xff1a;http://poj.org/problem?id1637 先给无向边随便定向&#xff0c;如果一个点的入度大于出度&#xff0c;就从源点向它连 ( 入度 - 出度 / 2 ) 容量的边&#xff0c;意为需要流出去这么多&#xff1b;流出去1表示改了一条边的方向&#xff0c;会使自己出度-1、入…

[css] 什么是视差滚动?如何实现视差滚动的效果?

[css] 什么是视差滚动&#xff1f;如何实现视差滚动的效果&#xff1f; 什么是视差滚动&#xff1a; 就是在同一视角下&#xff0c;鼠标或者页面滚动时&#xff0c;不同元素以不同的速率跟随滚动&#xff0c;产生生动的效果。 如何实现视差滚动&#xff1a; 根据页面滚动高度的…