打码平台介绍

网址链接

基本使用

1.注册

2.下载开发文档

image.png
将下载的chaojiying.py 和a.jpg复制到python项目中

3. 测试

python3注意

image.png

生成软件ID 链接

登陆,进入用户中心,选择”软件ID”,软件名称及说明任意填写,记录生成的ID

测试

1.png
运行后返回的是一个字典image.png
pic_str 就是图片的验证码7261;可以与a.jpg对比下查看是否准确

使用某银行接口测试

接口链接

URL分析

图形验证码url分析

1.访问链接

输入手机号码,点击获取验证码,重复几次,页面如下图所示:
image.png

2.url分析

F12 选择Network,clear清空全部内容,点击验证码图片
url =”https://creditcard.ecitic.com/citiccard/ucweb/newvalicode.do?time=1591512318594
image.png
url= “https://creditcard.ecitic.com/citiccard/ucweb/newvalicode.do?time=1591512454804
image.png
仅time=后的13位数字不同,此为 格林威治毫秒级时间戳

3.生成图形验证码url

  1. millis = int(round(time.time() * 1000))
  2. img_url = "https://creditcard.ecitic.com/citiccard/ucweb/newvalicode.do?time={}".format(millis)

免费获取url分析

1.输入正确图形验证码,点击免费获取

url = “https://creditcard.ecitic.com/citiccard/ucweb/getsms.do?&timestamp1591513063001
image.png
url = “https://creditcard.ecitic.com/citiccard/ucweb/getsms.do?&timestamp1591513228118
image.png

2. url 分析

Request Method:POST;
Form Data 如图所示image.png

3. 生成”短信获取”url

sms_url = "https://creditcard.ecitic.com/citiccard/ucweb/getsms.do?&timestamp{}".format(millis)

代码

代码说明

  1. session.get(url=req_url,headers=headers),会话保持
    1. 使用session成功的登录了某个网站,则在再次使用该session对象求求该网站的其他网页都会默认使用该session之前使用的cookie等参数
  2. get_code(img_url) 获取验证码
    1. 将验证码图形保存到本地
    2. 使用超级鹰接口,获取code
    3. 构造data
  3. sms_req = session.post(xxxx)
    1. 带cookie请求 ```python

      -- coding:utf-8 --

      import requests import time from chaojiying import Chaojiying_Client

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?&timestamp{}".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”:”短信发送成功”} ```

视频链接