文档章节

RestTemplate 设置 USER-AGENT

learn_more
 learn_more
发布于 2016/11/02 15:44
字数 162
阅读 1164
收藏 0

使用 Spring RestTemplate 组件之后,你会发现在使用如下代码时:

String agent = request.getHeader("USER-AGENT").toLowerCase();

 

得到的 agent 不是浏览器的信息,而是 Java version.

如何避免这种情况呢?毕竟这个参数对服务端来说是非常重要的,尤其是下载。

如下使用设置 USER-AGENT

HttpHeaders headers = new HttpHeaders();

headers.set(HttpHeaders.USER_AGENT,request.getHeader("USER-AGENT"));

HttpEntity<String> entity = new HttpEntity<>(str, headers);

ResponseEntity<byte[]> obj = restTemplate.exchange(url, method, entity, byte[].class);

 

下面这种设置有局限性

requestMapper.getHeaders.set(HttpHeaders.USER_AGENT,"");

为什么有局限呢?原因就是 request对象不是 HttpServletRequest,所以没有 request.getHeader(String) 方法。

 

© 著作权归作者所有

下一篇: docx 转 doc
learn_more
粉丝 93
博文 240
码字总数 210196
作品 0
深圳
程序员
私信 提问
180815-Spring之RestTemplate中级使用篇

Spring之RestTemplate中级使用篇 前面一篇介绍了如何使用发起post和get请求,然而也只能满足一些基本的场景,对于一些特殊的如需要设置请求头,添加认证信息等场景,却没有提及可以怎么做,这...

小灰灰Blog
2018/08/15
205
0
Spring Boot 入门 - 进阶篇(4)- REST访问(RestTemplate)

经常需要发送一个GET/POST请求到其他系统(REST API),通过JDK自带的HttpURLConnection、Apache HttpClient、Netty 4、OkHTTP 2/3都可以实现。 HttpClient的使用:http://rensanning.iteye.c...

onedotdot
2018/10/17
333
0
RestTemplate 深度解析

补充 2016年6月12日:从 Spring 4.3 开始加入了 一、概述 本文主要介绍 Spring Web 模块中的 RestTemplate 组件的原理、优缺点、以及如何扩展以满足各种需求。 在介绍 RestTemplate 之前,我...

编走编想
2016/06/08
13.2K
7
SpringMVC+RestFul详细示例实战教程(实现跨域访问)

一、理解 REST REST(Representational State Transfer),中文翻译叫“表述性状态转移”。是 Roy Thomas Fielding 在他2000年的博士论文中提出的。它与传统的 SOAP Web 服务区别在于,REST关...

sihailoveyan
2018/06/11
30
0
跟我学Spring Cloud(Finchley版)-07-Ribbon入门

经过前文讲述,我们已经实现了服务发现。本节来解决 跟我学Spring Cloud(Finchley版)-02-构建分布式应用 提到的如下问题: 负载均衡如何考虑?难道得在电影微服务和用户微服务之间加个NGI...

周立_ITMuch
01/06
116
0

没有更多内容

加载失败,请刷新页面

加载更多

zk中ToBeAppliedRequestProcessor解析

ToBeAppliedRequestProcessor在Leader中 在已处理事务和最后处理事务处理器之间,处理器链上下一个是FinalRequestProcessor public void processRequest(Request request) throws RequestPro...

writeademo
12分钟前
2
0
Allegro快捷键设置-PCB环境

立题简介: 内容:简单介绍Allegro绘制的PCB环境下的快捷键; 来源:实际使用得出; 作用:对Allegro绘制PCB快捷键进行介绍; PCB环境:Cadence 16.6; 立题详解: 对“allegro”板而言,其在...

demyar
13分钟前
2
0
idea maven web项目启动build时报错java.lang.NullPointerException

之前还好好的,重启一下idea就报这个错了,大概率是tomcat没杀掉端口被占用了,在tomcat配置中更换一下sever端口就好了

宇辰OSC
17分钟前
2
0
weed3-2.3.1.查询之输出

Weed3 一个超轻量级ORM框架(只有0.1Mb哦) 源码:https://github.com/noear/weed3 源码:https://gitee.com/noear/weed3 查询可是个复杂的话题了,可能我们80%的数据库处理都在查询。 今天先...

刘之西东
17分钟前
2
0
【Android JetPack系列】数据绑定:DataBinding

参考MVVM

Agnes2017
25分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部