ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【2020.06】国税总局发票查验平台验证码最新获取方法

2020-06-17 11:04:51  阅读:698  来源: 互联网

标签:__ get 验证码 2020.06 captcha 参数 invoice 国税


国税总局的发票查验平台近期JS更新频繁,之前写了一篇验证码识别的文章:https://blog.csdn.net/kerlomz/article/details/105974823
有不少人私信我,问我怎么获取验证码,没想到各位竟然栽在前一步,下面我给大家介绍一个比较简单的办法吧。

pypi仓库里有一个 https://pypi.org/project/invoice-captcha/ 项目
封装了请求的加密参数和返回的解密参数,具体使用方法请看下面的讲解:

首先搬运一下官网的示例代码:

  1. 调用示例:

    import requests
    from invoice_captcha.utils import get_captcha_params, parse_captcha_resp, kill_captcha_fast, ua
    
    CAPTCHA_URL = "https://fpcy.guangdong.chinatax.gov.cn/NWebQuery/yzmQuery"
    
    
    # 发票代码
    key1 = "011111111111"
    # 发票号码
    key2 = "11111111"
    
    # # 开票日期
    # key3 = "20200603"
    # # 校验码或发票金额
    # key4 = "000000"
    
    
    def fetch_captcha(invoice_code, invoice_no):
    
        sess = requests.Session()
    
        # 使用代理,需要自备代理
        # sess.proxies = proxy
        sess.headers = {"User-Agent": ua.random}
    
        # 获取验证码请求参数
        payload = get_captcha_params(
            invoice_code=invoice_code, invoice_no=invoice_no
        )
    
        # 通过官网获取验证码
        r = sess.get(CAPTCHA_URL, params=payload)
    
        # 验证码请求参数解密
        plain_dict = parse_captcha_resp(r)
    
        # 验证码请求返回明文
        # key1 图片base64
        # key4 验证码需要识别的颜色代码
        print("解密参数 --- ", plain_dict)
    
        # 调用识别测试接口
        captcha_text = kill_captcha_fast(
            plain_dict, 
          	# 默认API有使用次数限制,可联系作者QQ:27009583,测试独立接口
            # api="http://kerlomz-ac86u.asuscomm.com:19811/captcha/v1"
        )
    
        # 输出识别结果
        print("识别结果 --- ", captcha_text)
        
        
    if __name__ == '__main__':
        for i in range(10):
            fetch_captcha(key1, key2)
    

经过剖析,这个sdk分为两个部分,一个是用于获取验证码的参数生成函数get_captcha_params(),另一个是用于解析官网返回的加密报文的函数parse_captcha_resp(),笔者发现,请求参数和解析报文的函数共享了一个now_time变量,这意味这该项目不支持多线程并发,但用于一般的研究学习使用应该是足够了。kill_captcha_fast()对接了一个测试接口,这个接口可以变更,方便使用者自己修改。笔者后面将开辟一篇专门讲解JS的文章,敬请留意。

标签:__,get,验证码,2020.06,captcha,参数,invoice,国税
来源: https://blog.csdn.net/kerlomz/article/details/106793781

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有