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

至此,问题已解决

相关推荐
摇滚侠3 分钟前
Spring Boot 3零基础教程,WEB 开发 通过配置类代码方式修改静态资源配置 笔记32
java·spring boot·笔记
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ4 分钟前
mapper.xml sql动态表查询配置
xml·java·sql
YuanlongWang6 分钟前
C# 基础——多态的实现方式
java·c#
小咕聊编程36 分钟前
【含文档+PPT+源码】基于spring boot的固定资产管理系统
java·spring boot·后端
roykingw36 分钟前
【终极面试集锦】如何设计微服务熔断体系?
java·微服务·面试
我命由我1234537 分钟前
Spring Cloud - Spring Cloud 微服务概述 (微服务的产生与特点、微服务的优缺点、微服务设计原则、微服务架构的核心组件)
java·运维·spring·spring cloud·微服务·架构·java-ee
それども40 分钟前
忽略Lombok构建警告
java·开发语言·jvm
用户68545375977691 小时前
🎮 Java设计模式:从青铜到王者的代码修炼手册
java·后端
马尚道1 小时前
Java高手速成--吃透源码+手写组件+定制开发教程
java
我命由我123451 小时前
Spring Cloud - Spring Cloud 注册中心与服务提供者(Spring Cloud Eureka 概述、微服务快速入门、微服务应用实例)
java·spring boot·spring·spring cloud·微服务·eureka·java-ee