使用
https://api.mch.weixin.qq.com/v3/bill/tradebill
接口获取到文件信息:
{"download_url":"https://api.mch.weixin.qq.com/v3/billdownload/file?token=DB_gzj3_4wSJyx5whWBqIcGzXzdw-rrGT1I4fDXI8fBkJCTEX72bsFmCwSVX81WD","hash_type":"SHA1","hash_value":"744c532b342251ba7853012f88cd6c4e28af5944"}
接着立即(符合30秒内规则)访问download_url中的地址:
1.使用的是get方法
2.根据签名规则生成了签名
3.头部添加了Authorization信息
但是返回
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx</center>
</body>
</html>
不要用sdk中生成的httpClient调用账单下载, 随便找一个普通的HTTP访问的工具类, 然后把Authorization加到header里, 就不会出现400的错误了.下面是我用hutool的工具类进行http访问的截图, 希望可以帮助到大家, 这个问题也困扰了我大半天
postman测试下看看返回什么