打码平台介绍
网址链接
基本使用
1.注册
2.下载开发文档
将下载的chaojiying.py 和a.jpg复制到python项目中
3. 测试
python3注意
生成软件ID 链接
登陆,进入用户中心,选择”软件ID”,软件名称及说明任意填写,记录生成的ID
测试
运行后返回的是一个字典
pic_str 就是图片的验证码7261;可以与a.jpg对比下查看是否准确
使用某银行接口测试
接口链接
URL分析
图形验证码url分析
1.访问链接
2.url分析
F12 选择Network,clear清空全部内容,点击验证码图片
url =”https://creditcard.ecitic.com/citiccard/ucweb/newvalicode.do?time=1591512318594“
url= “https://creditcard.ecitic.com/citiccard/ucweb/newvalicode.do?time=1591512454804“
仅time=后的13位数字不同,此为 格林威治毫秒级时间戳
3.生成图形验证码url
millis = int(round(time.time() * 1000))
img_url = "https://creditcard.ecitic.com/citiccard/ucweb/newvalicode.do?time={}".format(millis)
免费获取url分析
1.输入正确图形验证码,点击免费获取
url = “https://creditcard.ecitic.com/citiccard/ucweb/getsms.do?×tamp1591513063001“
url = “https://creditcard.ecitic.com/citiccard/ucweb/getsms.do?×tamp1591513228118“
2. url 分析
Request Method:POST;
Form Data 如图所示
3. 生成”短信获取”url
sms_url = "https://creditcard.ecitic.com/citiccard/ucweb/getsms.do?×tamp{}".format(millis)
代码
代码说明
- session.get(url=req_url,headers=headers),会话保持
- 使用session成功的登录了某个网站,则在再次使用该session对象求求该网站的其他网页都会默认使用该session之前使用的cookie等参数
- get_code(img_url) 获取验证码
- 将验证码图形保存到本地
- 使用超级鹰接口,获取code
- 构造data
- sms_req = session.post(xxxx)
req_url = “https://creditcard.ecitic.com/citiccard/ucweb/toRegister.do“ headers = {‘User-Agent’:’Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36’} millis = int(round(time.time() * 1000)) img_url = “https://creditcard.ecitic.com/citiccard/ucweb/newvalicode.do?time={}".format(millis) sms_url = “https://creditcard.ecitic.com/citiccard/ucweb/getsms.do?×tamp{}".format(millis)
session = requests.session() session.get(url=req_url,headers=headers)
def get_code(img_url): img = session.get(url=img_url).content with open(‘img.png’,’wb’) as f: f.write(img) chaojiying = Chaojiying_Client(‘用户名’, ‘密码’, ‘id’) im = open(‘img.png’, ‘rb’).read() code = chaojiying.PostPic(im, 1902)[‘pic_str’] return code
data = { “phone”: 手机号码, “imgValidCode”: get_code(img_url) }
sms_req = session.post(url=sms_url,headers=headers,data=data).content.decode(‘utf-8’)
print(sms_req)
> {“resultCode”:”0000000”,”resultDesc”:”短信发送成功”} ```
视频链接