云打码

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,一经查实,立即删除!

相关文章

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 …

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…

springboot 拦截器的坑 WebMvcConfigurationSupport 失效

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

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

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

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 代码块里的…

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…

springcloud gateway 源码解析、请求响应流程、第三方响应结果在 gateway 的经过

大家好&#xff0c;我是烤鸭&#xff1a; 1. 官方介绍 官方文档&#xff1a; 看的是 2.2.5.RELEASE 版本的 https://docs.spring.io/spring-cloud-gateway/docs/2.2.5.RELEASE/reference/html/ 看一下官方这段说明&#xff0c;gateway 使用的是 webflux 和 reactor&#x…

改logback logstash-logback-encoder 框架本身的日志级别

大家好&#xff0c;我是烤鸭&#xff1a; 最近遇到一个问题&#xff0c;想把logback框架本身的日志级别修改&#xff0c;需要 logstash-logback-encoder 6.1 以上的版本才可以。 直接上代码 这里修改的不是业务日志级别&#xff0c;是 logback 框架本身(确切地说是 logstash…

idea首次创建新模块的详细操作

依赖网址:https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api/3.1.0 https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api/2.3.1 https://mvnrepository.com/artifact/org.springframework/spring-webmvc 创建文件夹 修改版本号 配…

markdown 常用语法总结 - 个人版

这里并不是要总结所有的 markdown 语法&#xff0c;只是总结笔者自己撰写博客时常用的一些 markdown 语法。 1 图片设置 1.1 设置图片位置 利用markdown在编写文档时插入图片是默认靠左&#xff0c;有些时候将图片设置为居中时可以更加的美观&#xff0c;这时就需要在图片的信息…

PostgreSQL 、springboot 、spring data jpa 集成

项目地址&#xff1a;https://gitee.com/zhxs_code/PostgreSQL_springboot_jpa_demo.git 增删查改都已经实现。 重点部分&#xff1a; 1.定义自己的方言。 1 package com.zxl.postgrespringdemo.config.dialect;2 3 import org.hibernate.dialect.PostgreSQL94Dialect;4 import…

RedisTemplate value序列化导致的问题

大家好&#xff0c;我是烤鸭&#xff1a; ​ 今天分享一个redisTemplate 使用时&#xff0c;value 序列化的问题。 1. 问题描述 其实我最开始遇到的问题是&#xff1a; stringRedisTemplate.opsForSet().isMember(key,value)一直返回false问题&#xff0c;下边博客给出了…

[css] 如何实现换肤功能?

[css] 如何实现换肤功能&#xff1f; css 换肤常见方案 是通过 less/sass/postcss 等css 预处理器&#xff0c;通过它们自身的变量用法&#xff0c;设置不同变量&#xff0c;生成不同的主题样式&#xff0c;但是这些样式都是会被打包成常量&#xff0c;我们只能在编译之前修改…

日志 中文乱码、nacos 中文乱码、saltstack 中文乱码、docker中文乱码

大家好&#xff0c;我是烤鸭&#xff1a; ​ 今天分享一个 saltstack 中文乱码 的问题。 问题说明 由于项目之前没有接入公司的发布系统&#xff0c;今天接入之后发现日志乱码&#xff0c;不仅如此&#xff0c;从nacos获取到的中文参数也是乱码。于是猜想是发布系统遗留了一…

redis出现过多command 慢查询slowlog出现command命令

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享一个问题&#xff0c;一个关于redis slowlog&#xff0c;执行过多 command命令的问题。 问题来源 所有走redis 的接口tp99和平均耗时是原来的两倍不止&#xff0c;运维说redis 的qps也翻倍了。查了下slowlog&#xff0c;发现…

springcloud gateway 使用nacos 动态过滤器 记一次线上网关升级cpu升高的问题

大家好&#xff0c;我是烤鸭&#xff1a; ​ 网关升级&#xff0c;想使用 springcloud gateway nacos 动态过滤器配置(原来是硬编码的方式)&#xff0c;升级之后出了一些问题(cpu升高&#xff0c;ygc频繁)&#xff0c;记录一下。 关于 springcloud gateway 集成 nacos 可以看…

【1】生产者-消费者模型的三种实现方式

(手写生产者消费者模型&#xff0c;写BlockingQueue较简便 ) 1、背景 生产者生产数据到缓冲区中&#xff0c;消费者从缓冲区中取数据。 如果缓冲区已经满了&#xff0c;则生产者线程阻塞&#xff1b; 如果…

springboot mybatis-plus 配置 yml 、druid 配置 yml 、mybatis-plus 代码生成

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享一下 springboot mybatis-plus 和 druid 的yml 配置文件。 pom <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency…