zoukankan      html  css  js  c++  java
  • java后台调用http请求

    1:代码   @Value("${sms.username}")  可以将sms.properties配置文件中的值注入到username

     1     //这种方式是将sms.properties里的值注入到属性中
     2     @Value("${sms.username}")
     3     private String username;
     4 
     5     @Value("${sms.password}")
     6     private String password;
     7 
     8     @Value("${sms.apiKey}")
     9     private String apiKey;
    10 
    11     @Value("${sms.url}")
    12     private String url;
    13     
    14     @Override
    15     public void sendVerifyCode(String phoneNumber) {
    16         
    17         // 首先的到session中VerifyCodeVo
    18         VerifyCodeVO vc = UserContext.getVerifyCode();
    19         if (vc == null // 表示没有发过验证码    如果已经发送了要判断两次发送之间的时间间隔
    20                 || (vc != null && DateUtil.getSecondsBetweenDates(vc.getSendTime(),new Date()) 
    21                           >= BidConst.SEND_VERIFYCODE_INTERVAL)) {
    22             // 生成一个验证码
    23             String code = UUID.randomUUID().toString().substring(0, 4);
    24             try {
    25                 // 创建一个URL对象
    26                 URL targetUrl = new URL(this.url);
    27                 // 从URL对象中获得一个连接对象
    28                 HttpURLConnection conn = (HttpURLConnection) targetUrl.openConnection();
    29                 // 设置请求方式 注意这里的POST或者GET必须大写
    30                 conn.setRequestMethod("POST");
    31                 // 设置POST请求是有请求体的
    32                 conn.setDoOutput(true);
    33                 // 拼接发送的短信内容
    34                 StringBuilder params = new StringBuilder(100)
    35                         .append("username=").append(username)
    36                         .append("&password=").append(password)
    37                         .append("&apikey=").append(apiKey).append("&mobile=")
    38                         .append(phoneNumber).append("&content=")
    39                         .append("您的验证码是:").append(code).append(",有效时间是:")
    40                         .append(BidConst.VERIFYCODE_VALID_TIME).append("秒!");
    41                 // 写入参数
    42                 conn.getOutputStream().write(params.toString().getBytes());
    43                 // 读入响应
    44                 String response = StreamUtils.copyToString(
    45                         conn.getInputStream(), Charset.forName("UTF-8"));
    46                 // 发送成功 以success开头
    47                 if (response.startsWith("success")) {
    48                    // 构建一个vo对象 将vo放入session中
    49                     vc = new VerifyCodeVO(phoneNumber, code, new Date());
    50                     UserContext.putVerifyCode(vc);
    51                 }else{
    52                     throw new RuntimeException();
    53                 }
    54                 // 构建一个vo对象 将vo放入session中
    55 //                vc = new VerifyCodeVO(phoneNumber, code, new Date());
    56 //                UserContext.putVerifyCode(vc);
    57              System.out.println("手机号" +phoneNumber +"验证码:" + code );
    58             } catch (Exception e) {
    59                 e.printStackTrace();
    60                 throw new RuntimeException("发送短信失败");
    61             }
    62         } else {
    63             throw new RuntimeException("发送过于频繁");
    64         }
    65     }

    2:sms.properties配置文件

    1 sms.username=admin
    2 sms.password=admin
    3 sms.url=http://172.16.71.27:8082/send.do
    4 sms.apiKey=admin

    3:调用的其它项目中Controller层中的 send.do 方法实现

    1     @RequestMapping("/send")
    2     @ResponseBody
    3     public String send(String username, String password, String apikey, String mobile, String content) {
    4         System.out.println("发送短信给手机:" + mobile + ",发送短信内容为:" + content);
    5         return "success"; 
    6 }
  • 相关阅读:
    使用 Docker 部署 Spring Boot
    阿里云Redis开发规范
    Java开发包Jedis
    Jedis的配置和优化
    JVM调优前戏之JDK命令行工具---jhat
    JVM调优前戏之JDK命令行工具---jstack
    JVM调优之经验
    Logback配置文件这么写,TPS提高10倍
    Java开发包Jedis
    Error Handling in ASP.NET Core
  • 原文地址:https://www.cnblogs.com/xuyou551/p/8118790.html
Copyright © 2011-2022 走看看