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

11 篇文章 1 订阅
1 篇文章 0 订阅

国税总局的发票查验平台近期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的文章,敬请留意。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 国税发票查验API接口文档说明是一份重要的文档,它对于开发人员实现发票查验功能非常有帮助。该文档详细说明了API接口的调用方法和参数格式,包括请求参数、响应参数、错误码等信息,以便开发人员进行接入和调试工作。 该文档中,请求参数包括发票代码、发票号码、开票日期、金额等信息,开发人员需要按照规定格式进行传输。响应参数中包括了发票的相关信息,如发票种类、购买方名称、税号、开票日期、发票代码、发票号码、发票金额等。 API接口中还包括了错误码,响应结果中如果出现错误,会返回对应的错误码和错误信息,为开发人员进行问题排查提供了便利。 总之,国税发票查验API接口文档说明提供了详细的接口调用流程和规则,为开发人员实现发票查验功能提供了指导和支持。 ### 回答2: 国税发票查验api接口文档提供了开发者用于接入国税发票查验系统的标准接口,以便于开发者可以使用该接口来进行发票查验工作。 该接口文档由国税局统一制定并发布,内容主要包括接口说明、请求方式、参数说明、响应参数等内容,开发者可根据接口文档进行程序开发。在接入国税发票查验系统时,需要先向国税局申请接口授权码,并使用授权码进行访问。 使用该API接口可以实现方便快捷的发票查询工作,可以节省用户的时间和精力。同时,该接口具有高可用性、高安全性等优点,可以确保信息安全及时性、准确性。 总之,国税发票查验API接口文档说明为开发者提供了标准的接入国税发票查验系统的方式,并为发票查验工作的实施提供了便利。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值