当前位置:   article > 正文

【2020.06】国税总局发票查验平台验证码最新获取方法_自动报税 手机验证码怎么获取

自动报税 手机验证码怎么获取

国税总局的发票查验平台近期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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/527705
推荐阅读
相关标签
  

闽ICP备14008679号