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);

至此,问题已解决

相关推荐
Han_han91912 小时前
案例二:交通工具调度系统(核心:继承 + 多态 + final + 方法重写)
java·开发语言
cch891812 小时前
Java vs 汇编:高级与低级的终极对决
java·开发语言·汇编
码上实战12 小时前
到底Java 适不适合做 AI 呢?
java·人工智能·后端·python·ai
如若12312 小时前
ERROR:pdf2zh.converter:‘str‘ object has no attribute ‘choices‘ converter.py:357
java·开发语言·servlet
cch891812 小时前
PHP vs Java:谁更适合你的项目?
java·开发语言·php
萧逸才12 小时前
【learn-claude-code】S11AutonomousAgents - 自主 Agent:自动认领任务 + 空闲轮询
java·人工智能·ai
李少兄12 小时前
优化高负载详情接口:基于字段选择与懒加载的实践
java
简单点了12 小时前
mac安装Java环境
java·macos
CHU72903513 小时前
在线教学课堂APP功能版块设计方案:重构学习场景的交互逻辑
java·学习·小程序·重构
xhuiting13 小时前
MQ(专题二)
java·java-rocketmq