设置pom引用

  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6.  
  7. <groupId>com.itstudy</groupId>
  8. <artifactId>demo</artifactId>
  9. <version>1.0.0-SNAPSHOT</version>
  10.  
  11. <name>demo</name>
  12.  
  13. <parent>
  14. <groupId>org.springframework.boot</groupId>
  15. <artifactId>spring-boot-starter-parent</artifactId>
  16. <version>1.5.9.RELEASE</version>
  17. </parent>
  18.  
  19. <dependencies>
  20. <dependency>
  21. <groupId>junit</groupId>
  22. <artifactId>junit</artifactId>
  23. <version>4.12</version>
  24. <scope>test</scope>
  25. </dependency>
  26. <dependency>
  27. <groupId>org.springframework.boot</groupId>
  28. <artifactId>spring-boot-starter</artifactId>
  29. </dependency>
  30. <dependency>
  31. <groupId>org.springframework.boot</groupId>
  32. <artifactId>spring-boot-starter-web</artifactId>
  33. </dependency>
  34. <dependency>
  35. <groupId>org.springframework.boot</groupId>
  36. <artifactId>spring-boot-starter-test</artifactId>
  37. <scope>test</scope>
  38. </dependency>
  39. <dependency>
  40. <groupId>com.alibaba</groupId>
  41. <artifactId>fastjson</artifactId>
  42. <version>1.2.30</version>
  43. </dependency>
  44. <dependency>
  45. <groupId>commons-codec</groupId>
  46. <artifactId>commons-codec</artifactId>
  47. </dependency>
  48. </dependencies>
  49.  
  50. <build>
  51. <plugins>
  52. <plugin>
  53. <groupId>org.springframework.boot</groupId>
  54. <artifactId>spring-boot-maven-plugin</artifactId>
  55. <executions>
  56. <execution>
  57. <goals>
  58. <goal>repackage</goal>
  59. </goals>
  60. </execution>
  61. </executions>
  62. </plugin>
  63. </plugins>
  64. </build>
  65. </project>

配置resttemplate

  1. import org.springframework.context.annotation.Bean;
  2. import org.springframework.context.annotation.Configuration;
  3. import org.springframework.http.client.ClientHttpRequestFactory;
  4. import org.springframework.http.client.SimpleClientHttpRequestFactory;
  5. import org.springframework.web.client.RestTemplate;
  6.  
  7. /**
  8. * RestTemplate配置类
  9. */
  10. @Configuration
  11. public class RestTemplateConfig {
  12.  
  13. @Bean
  14. public RestTemplate restTemplate(ClientHttpRequestFactory factory){
  15. return new RestTemplate(factory);
  16. }
  17.  
  18. @Bean
  19. public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
  20. SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
  21. factory.setReadTimeout(5000);//单位为ms
  22. factory.setConnectTimeout(5000);//单位为ms
  23. return factory;
  24. }
  25. }

在controller中调用

  1. import org.springframework.beans.factory.annotation.Autowired;
  2. import org.springframework.http.*;
  3. import org.springframework.web.bind.annotation.GetMapping;
  4. import org.springframework.web.bind.annotation.RestController;
  5. import org.springframework.web.client.RestTemplate;
  6.  
  7. import org.apache.commons.codec.binary.Base64;
  8.  
  9. @RestController
  10. public class IndexController {
  11. @Autowired
  12. private RestTemplate restTemplate;
  13.  
  14. @GetMapping("basicauth")
  15. public void getBasicAuth(){
  16.  
  17. String user = "111";
  18. String password = "66666";
  19. String userMsg = user + ":" + password;
  20. String base64UserMsg = Base64.encodeBase64String(userMsg.getBytes());
  21. System.out.println();
  22. System.out.println(base64UserMsg);
  23.  
  24. String url = "http://host:port/api";
  25. String postBody = "data";
  26.  
  27. HttpHeaders headers = new HttpHeaders();
  28. headers.add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko");
  29. headers.add("Authorization ", base64UserMsg);
  30. HttpEntity<String> entity = new HttpEntity<String>(postBody, headers);
  31.  
  32. ResponseEntity<String> response = restTemplate.postForEntity(url, entity, String.class);
  33.  
  34. System.out.println(response.getBody());
  35.  
  36. }
  37. }

启动Springboot项目

  1. import org.springframework.boot.Banner;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4.  
  5. @SpringBootApplication
  6. public class App {
  7.  
  8. public static void main(String[] args) {
  9.  
  10. SpringApplication app = new SpringApplication(App.class);
  11. //关闭banner
  12. app.setBannerMode(Banner.Mode.OFF);
  13. app.run(args);
  14. }
  15.  
  16. }

SpringBoot使用RestTemplate基础认证的更多相关文章

  1. SpringBoot使用RestTemplate 摘要认证

    SpringBoot使用RestTempate SpringBoot使用RestTemplate摘要认证 SpringBoot使用RestTemplate基础认证 SpringBoot使用RestTe ...

  2. SpringBoot 使用 RestTemplate 调用exchange方法 显示错误信息

    SpringBoot使用RestTempate SpringBoot使用RestTemplate摘要认证 SpringBoot使用RestTemplate基础认证 SpringBoot使用RestTe ...

  3. SpringBoot使用RestTemplate

    SpringBoot使用RestTempate SpringBoot使用RestTemplate摘要认证 SpringBoot使用RestTemplate基础认证 设置pom引用 <?xml v ...

  4. SpringBoot系列: RestTemplate 快速入门

    ====================================相关的文章====================================SpringBoot系列: 与Spring R ...

  5. Spring Cloud之路:(七)SpringBoot+Shiro实现登录认证和权限管理

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sage_wang/article/details/79592269一.Shiro介绍1.Shiro是 ...

  6. springboot(十四):springboot整合shiro-登录认证和权限管理(转)

    springboot(十四):springboot整合shiro-登录认证和权限管理 .embody{ padding:10px 10px 10px; margin:0 -20px; border-b ...

  7. C#进阶系列——WebApi 身份认证解决方案:Basic基础认证

    前言:最近,讨论到数据库安全的问题,于是就引出了WebApi服务没有加任何验证的问题.也就是说,任何人只要知道了接口的url,都能够模拟http请求去访问我们的服务接口,从而去增删改查数据库,这后果想 ...

  8. WebApi身份认证解决方案:Basic基础认证

    前言:最近,讨论到数据库安全的问题,于是就引出了WebApi服务没有加任何验证的问题.也就是说,任何人只要知道了接口的url,都能够模拟http请求去访问我们的服务接口,从而去增删改查数据库,这后果想 ...

  9. C#进阶系列——WebApi身份认证解决方案:Basic基础认证 (转)

    http://www.cnblogs.com/landeanfen/p/5287064.html 前言:最近,讨论到数据库安全的问题,于是就引出了WebApi服务没有加任何验证的问题.也就是说,任何人 ...

随机推荐

  1. Git之旅(1):安装git

    一.在windows中安装git git官网:https://git-scm.com/downloads 二.在centos系统安装git 2.1 配置base源和epel源 # cat /etc/y ...

  2. IDEA设置类和方法的注释

    类注释 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #pa ...

  3. gitpython 操作

    gitpython 获取仓库远程分支 https://blog.csdn.net/laiyaoditude/article/details/86218508 python操作git https://w ...

  4. js赋值后 改变现有数据会修改原来的数据

    看代码: let obj1 = { name: '张三', age: , sex: '男' } let obj2 = obj1 console.log('obj2:', obj2) obj2.age ...

  5. Django【第10篇】:Django之分页初级版本

    分页和中间件 一.分页 Django的分页器(paginator) view.py from django.shortcuts import render,HttpResponse # Create ...

  6. 使用VisualStudio 开发Arduino

    Arduino IDE界面简洁,整体功能还算完善,相比其他编译器明显的不足就是不能进行硬件调试,再就是没有代码提示功能,文件关系不清晰.头文件打开不方便. VisualStudio作为时下最为流行的W ...

  7. rk3328设备树学习

    一.用到的rk3328好像使用了设备树 设备树我知道的有三种文件类型,dtbs是通过指令make dtbs编译的二进制文件,供内核使用. 基于同样的软件分层设计的思想,由于一个SoC可能对应多个mac ...

  8. ubantu apache2.4.6 apache https配置

    [root@VM_58_118_centos dbback]# a2enmod ssl [root@VM_58_118_centos dbback]# service apache2 restart ...

  9. Android内嵌网页webview点击其中的链接跳转到我们应用内的Activity

    在一个大的Android项目中,由于客户端来不及更新和实现,经常会内嵌一些网页(在一些大型的互联网公司,PC的产品总是跑在客户端的前面),比如活动页面,通常可以内嵌用html5实现的页面,可以适配手机 ...

  10. D2. Remove the Substring (hard version)

    D2. Remove the Substring (hard version) 给字符串s,t,保证t为s的子序列,求s删掉最长多长的子串,满足t仍为s的子序列 记录t中每个字母在s中出现的最右的位置 ...