博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HttpClient短信接口
阅读量:5095 次
发布时间:2019-06-13

本文共 3075 字,大约阅读时间需要 10 分钟。

HttpClient简介

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

 

  • (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");    }

 

转载于:https://www.cnblogs.com/NCL--/p/8093726.html

你可能感兴趣的文章
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
MySQL更改默认的数据文档存储目录
查看>>
给出一个十六进制的数0xFF 0x80 (只有2“位”) 将其转换成有符号的一字节的十进制整数...
查看>>
替代微软IIS强大的HTTP网站服务器工具
查看>>
5、easyUI-菜单与按钮
查看>>
6.5 案例21:将本地数据库中数据提交到服务器端
查看>>
PyQt5--EventSender
查看>>
深入浅出Symfony2 - 结合MongoDB开发LBS应用
查看>>
android 通过AlarmManager实现守护进程
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
win7下把电脑设置成wlan热
查看>>
Java 多态 虚方法
查看>>
jquery.validate插件在booststarp中的运用
查看>>
java常用的包
查看>>
PHP批量覆盖文件并执行cmd命令脚本
查看>>
Unity之fragment shader中如何获得视口空间中的坐标
查看>>
支持向量机——内核
查看>>
MFC注册热键
查看>>
万能的SQLHelper帮助类
查看>>
三种方式创建Angular的自定义服务
查看>>