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

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

HttpClient短信接口相关推荐

  1. JAVA发送手机短信,httpclient短信发送接口示例(java)

    httpclient短信发送接口示例(java),可用于直接用电脑发送短信,可根据实际情况,与联通移动公司洽谈接口,完成网上发送短信功能,如需jar包,可向联通移动公司项目部沟通. package c ...

  2. java短信接口 调用_带你了解短信接口的调用

    查看接口说明 image.png 注册账号 注册成功的页面如下: image.png 设置短信内容的签名 比如:将短信签名设置为yzc image.png 查取短信接口密钥 image.png 设计J ...

  3. java网站短信接口_网云JAVA短信接口API

    final String userName = "注册用户名"; final String key = "接口鉴权KEY"; final String mobi ...

  4. 小豆社保「社保代缴」短信接口被盗刷解决方案-企业短信防火墙

    1 小豆社保业务及需求 半夜短信费用完, 怎么知道是否有问题? 小豆社保:是一家一站式人力资源SAAS服务云智慧平台,隶属于北京新琪科技有限公司, 说简单点就是解决工作变动无挂靠单位的人代缴社保的业务 ...

  5. 听云短信接口安全测试,你的短信接口到底有多危险,可能瞬间损失过万,短信接口防盗刷测试

    – "隐患险于明火,防范胜于救灾,责任重于泰山" 安全问题不容忽视,不要亡羊补牢! 前言 一丶找到对外短信接口 二丶分析外部防御措施 三丶查看请求报文 四丶分析测试 1. 直接在浏 ...

  6. 短信接口被恶意调用?企业短信防火墙+【中昱维信】短信验证码【Java】

    短信接口被恶意调用?企业短信防火墙+[中昱维信]短信验证码[Java] 一.企业短信防火墙的实现 1.1 简介 1.2 第一步:获取防火墙帐号密钥 1.3 第二步:下载防火墙服务器 1.4 第三步:业 ...

  7. 网易云信短信接口java_短信接入示例

    短信 > 短信接入示例 短信接入示例 功能概述 短信服务(Short Message Service)是网易网易云通信为用户提供的一种通信服务的能力,目前支持验证码类短信.通知类短信.运营类短信 ...

  8. java web短信接口_Java调用WebService短信接口-Go语言中文社区

    一.WebService接口说明 以http post的形式进行发送,上面是请求信息,下面是返回值. 接口文档返回值部分介绍. 二.Java代码,其中的MD5工具类请参照我的其他文章,或自己找一个MD ...

  9. 怎么用VB对接三方验证码短信接口

    VB对接验证码短信接口DEMO示例 //接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. // 账户注册:请通过该地址开通账 http://user.ihuyi.com/?DKim ...

  10. VB语音对接验证码短信接口DEMO示例

    本文为您提供了VB语言版本的验证码短信接口对接DEMO示例 //接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. //账户注册:请通过该地址开通账户 http://user.ihu ...

最新文章

  1. @前端工程师,节约网站流量用这一招就够了!
  2. 50. 熟悉与STL相关的Web站点
  3. spring mvc 4.3.2 + mybatis 3.4.1 + mysql 5.7.14 +shiro 幼儿园收费系统 之 消息管理
  4. 无线通信设备安装工程概预算编制_建筑安装工程,预算编制中易遗漏总结分享...
  5. 在Cfree5里使用多行快捷注释的方法
  6. java实现计算器算法_怎样用java 实现计算器的 算法
  7. 简单工厂模式在Logback源码以及JDK源码中的应用
  8. 什么是Web缓存控制(基于HTTP头域)
  9. 概率论——连续性随机变量及分布函数的定义
  10. 计算机表格大小怎么调整,EXCEL如何根据内容自动调整表格尺寸?
  11. Ubuntu18安装微信(deepin-wine版本)完整过程以及采坑记录
  12. fread和 fgets的区别:
  13. javaSE<String和StringBuffer和StringBuider>day11
  14. 穆迪分析专家贡献IFRS 9和CECL新书
  15. 配置数据源(DataSource)
  16. 霍涛的HashMap由 数组 + 链表 组成
  17. python对象的基本概念
  18. 消费信贷业务风控英文词汇手册
  19. Docker理解及常用命令一
  20. overflow第一次觉得你有点可恶

热门文章

  1. AU更新 AUTOIT
  2. Delphi - 注入的方式来禁止任务管理器
  3. [数据库]日期格式相关参数传递
  4. vmware挂载共享目录
  5. 谈天津地铁之为民服务
  6. 【EasyNetQ】- 发布
  7. linux系统快捷键使用
  8. Swift 06.Closures
  9. [转]ASP.NET网页请求以及处理全过程(反编译工具查看源代码)
  10. 【Endnote】EndnoteX9快速上手教程