其他分享
首页 > 其他分享> > 国税局发票查验api接口的开发

国税局发票查验api接口的开发

作者:互联网

对于发票查验来说,如果有多张发票需要查验,从国税局发票查验网站一张张的输入去查,那么效率就显得太慢了,因此想办法自己写一个接口对接国税局。

1 查验请求参数分析

在国税局上进行一次发票查验,用fiddler去抓取请求
在这里插入图片描述
然后查看fiddler,如下所示:
在这里插入图片描述
可以看到发票查验有两个请求,第一个请求为验证码请求,第二个请求为查验请求。
在这里插入图片描述
验证码请求和查验请求有两个最重要加密参数key9和flwq39,破解了这4个加密参数的生成规则,也就代表可以自己写查验接口了。

2 加密参数的生成

国税局查验网站有反调试手段,当在网页上按F12时,会出现debugger,这种时候需要利用fiddler进行删掉反调试代码,然后有的js代码混淆了,可以采用反混淆,推荐一个不错的反混淆网站
反混淆注意有的代码需要把正则表达式的判断函数里,把返回的改成true,可以搜素一个js文件RegExp
在这里插入图片描述
最后利用fiddler在线替换js文件,从而去掉了反调试。
在这里插入图片描述
自己的分析如下:

      验证码请求的key9函数入口js在eab23.js 搜索key9
      发票查验的key9入口点js在90a1c.js中 搜索key9
      两个flwq39均在动态js中的beforeSend里 搜素beforeSend

找到函数入口,就可以一点点扣js代码,将其生成规则写出来。
在这里插入图片描述
在这里插入图片描述

3 验证码识别

验证码识别的方法详见我的另一篇博客,英文字符的识别率高达99.99%。
通过以上方法,就可以写出自己查验接口了,方便自己更有效率的进行发票查验。

4 查验的测试

我在自己的阿里云上放了一个自己的查验服务

请求地址:http://47.107.92.103:11001/fpcy
请求类型:post请求
请求参数为json格式:Content-Type: application/json; charset=utf-8
{
	"fpdm": "发票代码",
	"fphm": "发票号码",
	"kprq": "开票日期",
	"value": "校验项目",
    “sqm”:”授权码”
}

测试时候sqm授权码可以传入test参数,该test授权码每天提供了100次试用机会,先来先得。
查验结果如下:
在这里插入图片描述
有这这方面需求的合作方可以与我私聊进行技术讨论。

标签:查验,key9,请求,国税局,验证码,js,api,发票
来源: https://blog.csdn.net/qq_37781464/article/details/121019312