RestTemple请求GET接口403

问题描述

使用oss接口获取资源的时候,通过浏览器可以直接下载,在代码中使用RestTemplate的get方式访问的时候,出现403错误

问题排查

因为返回状态码是403,就想着是不是授权问题,因为有的接口是有防抓取规则的,但是一系列操作之后无果,开启debug进行问题排查:

powershell 复制代码
debug: true

比对url之后发现实际调用的url已经够被改变

% -->%25

restTemplate默认的生成url的方式会出现该问题,所以考虑自己将url转成uri对象

问题代码

java 复制代码
		ResponseEntity<byte[]> forEntity = restTemplate.getForEntity(ossUrl, byte[].class);

修改之后代码

java 复制代码
		URI uri= new URI(ossUrl);
		ResponseEntity<byte[]> forEntity = restTemplate.getForEntity(uri, byte[].class);

至此,问题已解决

相关推荐
月落归舟1 分钟前
一文掌握Spring AOP:从入门到底层原理
java·后端·spring
QuZhengRong3 分钟前
【Luck-Report】缓存
java·前端·后端·vue·excel
XiYang-DING15 分钟前
【Spring】SpringMVC
java·后端·spring
想学习java初学者17 分钟前
SpringBoot整合GS1编码解码
java·spring boot·后端
日月云棠17 分钟前
2 快速入门实战指南
java·后端
日月云棠18 分钟前
3 Dubbo 2.7 高级配置:检查控制、版本策略与协议选择
java·后端
砍材农夫24 分钟前
物联网 基于netty构建mqtt协议规范(主题通配符订阅)
java·前端·javascript·物联网·netty
掉鱼的猫28 分钟前
用 Solon AI 从零构建 MCP 工具服务:让 AI Agent 拥有真实世界的能力
java·llm·mcp
日月云棠28 分钟前
1 分布式架构演进与Dubbo框架入门
java·后端
_日拱一卒34 分钟前
LeetCode:114二叉树展开为链表
java·开发语言·算法