Resttemplateget带特殊字符调用 异常处理总结

摘要:
分隔实际的URL和参数%3F\5)%指定特殊字符%25\6)#表示书签%23\7)&URL中指定的参数间的分隔符%26\8)=URL中指定参数的值%3D
Resttemplateget带特殊字符调用 异常处理总结

Resttemplate设置Accept

RestTemplate restTemplate = new RestTemplate();
HttpHeaders httpHeaders = new HttpHeaders();
List<MediaType> acceptableMediaTypes = new ArrayList<>(3);
acceptableMediaTypes.add(MediaType.ALL);
acceptableMediaTypes.add(MediaType.APPLICATION_JSON);
acceptableMediaTypes.add(MediaType.APPLICATION_FORM_URLENCODED);
httpHeaders.setAccept(acceptableMediaTypes);
HttpEntity<String> httpEntity = new HttpEntity<>(null, httpHeaders);
UriComponentsBuilder builder =
          UriComponentsBuilder.fromHttpUrl(
              prometheusIpPort
                  + "XXXXXX"
                  + URLEncoder.encode("aaaaaaaa", "UTF-8").replaceAll("\\+", "%20"));  处理空格转为 + 号
      URI uri = builder.build(true).toUri(); 设置为true 标识 不自动转码 因为自动转码容易造成% 转成%25
      ResponseEntity<String> responseEntity =
          restTemplate.exchange(uri, HttpMethod.GET, httpEntity, String.class);
      String responseBodyStr = "";
      if (null != responseEntity) {
        responseBodyStr = responseEntity.getBody();
      }

Resttemplate 坑

  • 空格转为 +

URL特殊符号及编码 十六进制值

\1) + URL 中+号表示空格 %2B
\2) 空格 URL中的空格可以用+号或者编码 %20
\3) / 分隔目录和子目录 %2F
\4) ? 分隔实际的 URL 和参数 %3F
\5) % 指定特殊字符 %25
\6) # 表示书签 %23
\7) & URL 中指定的参数间的分隔符 %26
\8) = URL 中指定参数的值 %3D

免责声明:文章转载自《Resttemplateget带特殊字符调用 异常处理总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇jsp、javabean、elyuv2mp4下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java异常处理008:RestTemplate请求Could not extract response: no suitable HttpMessageConverter found for response type.... content type [text/html;charset=UTF-8]异常

Java异常处理008:RestTemplate请求Could not extract response: no suitable HttpMessageConverter found for response type....  content type [text/html;charset=UTF-8]异常 start   1-异常日志: 2020-1...

uni-app v-bind绑定属性

mustache表达式不能在标签中使用,那么标签中想要动态绑定变量怎么办? 使用v-bind 比如: data() { return { url:"../HelloWord/HelloWord", } }, 页面上...

HTTP请求报文

HTTP协议: 1.简介 HTTP协议(Hyper Text Transfer Protocol,超文本标记语言) 是用于从服务器传输超文本到本地浏览器的传送协议 HTTP基于TCP/IP通信协议来传递数据 HTTP基于客户端/服务端(C/S)架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议 2.特点 1.HTTP是无连接:无连接的含义...

CentOS7——gitlab本地git仓库搭建 以及web hook配置

整个搭建用的都是各种默认设置,所以没有用到高深的的东西,比较简单,比较傻瓜式,这篇也仅仅是一个入门。 另外本文具有时效性,浏览本文请注意发表时间,为防止过时产生误导,本文尽量把 “如何得知应该这样做” 之类的内容放进去。 1、安装GitLab 从官网获得安装步骤,并执行(不去官网也可以,本文已经把所有用到的命令放进来了,往下看吧)。 官网:https://...

location.href和location.replace和location.reload的不同(location.replace不记录历史)

location.href iframe.location.href window.location.href      整个URL字符串(在浏览器中就是完整的地址栏) reload 方法,该方法强迫浏览器刷新当前页面。     语法: location.reload([bForceGet])                               ...

网站自动刷帖,刷赞,刷评论等网络推广方式的基本实现

上周写了一个腾讯旗下的一个小说网站的自动回帖程序:   具体怎么实现的呢?         其实它就是一个,找到评论接口,然后利用程序模拟HTTP请求的过程。再结合爬虫的相关技术具体实现。 大概分为这么几步:   第一步:先找到评论接口:       使用chrome或者火狐浏览器,或者专业点的fiddler对评论过程抓包 得到具体的请求为: POS...