zoukankan      html  css  js  c++  java
  • HttpClient短信接口

    HttpClient简介

    HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。更多信息请关注http://hc.apache.org/

     

    • (1) GET方法

    • 使用 HttpClient 需要以下 6 个步骤:

    • 1. 创建 HttpClient 的实例
      2. 创建某种连接方法的实例,在这里是GetMethod。在 GetMethod 的构造函数中传入待连接的地址
      3. 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例
      4. 读 response
      5. 释放连接。无论执行方法是否成功,都必须释放连接
      6. 对得到后的内容进行处理
      (2)POST方法
      根据RFC2616,对POST的解释如下:POST方法用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列(Request-Line)中请求URI所指定资源的附加新子项。POST被设计成用统一的方法实现下列功能:
      对现有资源的注释(Annotation of existing resources)
      向电子公告栏、新闻组邮件列表或类似讨论组发送消息
      提交数据块,如将表单的结果提交给数据处理过程
      通过附加操作来扩展数据库
      调用HttpClient中的PostMethod与GetMethod类似,除了设置PostMethod的实例与GetMethod有些不同之外,剩下的步骤都差不多。在下面的例子中,省去了与GetMethod相同的步骤,只说明与上面不同的地方,并以登录清华大学BBS为例子进行说明。

    HttpClient 功能介绍

    以下列出的是 HttpClient 提供的主要的功能,要知道更多详细的功能可以参见 HttpClient 的主页。

    • 实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)

    • 支持自动转向

    • 支持 HTTPS 协议

    • 支持代理服务器等

    发送验证码:

    @ResponseBody
        @PostMapping("/editphone")
        public OperationResult editPhone(String phone){
             String info = null;  
                try{  
                    HttpClient httpclient = new HttpClient();//方法调用  
                    
                    
                    PostMethod post = new PostMethod("*****");//接口地址  
                    
                    post.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");//格式转换  
                    
                    
                    post.addParameter("signName", "****");
                    post.addParameter("templateCode", "****");
                    post.addParameter("expireTime", "300");
                    post.addParameter("count", "4");
                    post.addParameter("bizId", "***");
                    post.addParameter("phoneNumbers", phone);
                    
                    httpclient.executeMethod(post);  
                    info = new String(post.getResponseBody(),"UTF-8");
                }catch (Exception e) {  
                    e.printStackTrace();  
                }  
            return new OperationResult(true,"发送成功");
        }

    验证验证码是否正确

        @ResponseBody
        @PostMapping("/editphone1")
        public OperationResult editPhone1(String phone,String pnum){
            String info = null;  
            try {
                HttpClient httpclient = new HttpClient();//方法调用  
                PostMethod post = new PostMethod(****");//接口地址  
                post.addParameter("bizId", "***");
                post.addParameter("code", pnum);
                post.addParameter("phoneNumber", phone);
                httpclient.executeMethod(post); 
                
                info = new String(post.getResponseBody());
            }catch (Exception e) {  
                e.printStackTrace();  
            } 
            if("OK".equalsIgnoreCase(info)){
                
                User u=new User();
                u.setId(user.getId());
                u.setPhone(phone);
                OperationResult c = userService.updatePhonr(u);
                return c ;
            }
            return new OperationResult(true,"chenggong");
        }
  • 相关阅读:
    防删没什么意思啊,直接写废你~
    绝大多数情况下,没有解决不了的问题,只有因为平时缺少练习而惧怕问题的复杂度,畏惧的心理让我们选择避让,采取并不那么好的方案去解决问题
    Java 模拟面试题
    Crossthread operation not valid: Control 'progressBar1' accessed from a thread other than the thread it was created on
    一步步从数据库备份恢复SharePoint Portal Server 2003
    【转】理解 JavaScript 闭包
    Just For Fun
    The database schema is too old to perform this operation in this SharePoint cluster. Please upgrade the database and...
    Hello World!
    使用filter筛选刚体碰撞
  • 原文地址:https://www.cnblogs.com/NCL--/p/8093726.html
Copyright © 2011-2022 走看看