项目中安全设置找回密码的功能,需要通过发送短信验证绑定手机,通过绑定的手机号验证并重新设置密码。

因为项目是通过maven管理的,所以需要在pom.xml文件中引入jar包,

maven引入的jar包:

        <!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient -->
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>

这里需要注意的是,因为但因版本兼容等原因,开始引入的并不是目前最新的 3.1 版本,而是比较老的2.*版本,这个版本没有设置字符类型的方法,所以只能用默认的字符类型发送数据,结果返回Fail,后来测试在没有汉字的判断时可以返回OK,又通过Postman查看:

因此确定时发送请求中汉字的问题,后来修改为最新的3.1版本之后设置字符串格式 “UTF-8”,可以正常发送请求并返回true。

发送请求的部分代码:

String info = null;
try{
HttpClient httpclient = new HttpClient();//方法调用 PostMethod post = new PostMethod("http://192.168.1.99:8088/sms/sendCode");//接口地址 post.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");//格式转换 post.addParameter("signName", "淄博**智能");
post.addParameter("templateCode", "SMS_114600059");
post.addParameter("expireTime", "300");
post.addParameter("count", "4");
post.addParameter("bizId", "learn");
post.addParameter("phoneNumbers", list.get(0).getPhone()); httpclient.executeMethod(post);
info = new String(post.getResponseBody(),"UTF-8");
mav.addObject("apimsg",info);
}catch (Exception e) {
e.printStackTrace();
}

返回的OK发送请求成功,

返回的later发送过请稍后,

返回的Fail失败,之前没有设置字符编码类型是就是返回这样,

还有因为参数名写错提示的返回参事错误等等。

用户输入验证码判断是否正确:

HttpClient httpclient = new HttpClient();//方法调用
PostMethod post = new PostMethod("http://192.168.1.99:8088/sms/validCode");//接口地址
//这里没有设置字符编码,也可以通过,因为没有汉字
post.addParameter("bizId", "learn");
post.addParameter("code", pnum);
post.addParameter("phoneNumber", "17560306966");
httpclient.executeMethod(post); info = new String(post.getResponseBody());

这里是根据输入的验证码判断是否正确,返回OK代表输入的验证码和发送的验证码一致。

http请求,HttpClient,调用短信接口的更多相关文章

  1. 发送短信验证码及调用短信接口与C# 后台 post 发送

    #region 调用短信接口 public ActionResult Mobile(string Tel)//调用接口 { Random rm = new Random(); int i; strin ...

  2. asp调用短信接口实现用户注册

    前几天做一个asp语言开发的网站需要实现用户注册短信验证功能,就研究了一下如何实现,简单给大家分享下调用过程. 首先需要找到一个第三方短信接口,当时用的是动力思维乐信的短信接口. 首先需要先注册个动力 ...

  3. C#调用短信接口(通过简单的工厂模式整合多个短信平台)

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...

  4. nginx限制IP恶意调用短信接口处理方法

    真实案例: 查看nginx日志,发现别有用心的人恶意调用API接口刷短信: /Jun/::: +] "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) ...

  5. java代码实现调用短信接口,发送短信验证。

    一.代码示例 package com.aaa.zxf.login; import org.apache.commons.httpclient.HttpClient; import org.apache ...

  6. C# 调用短信接口

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...

  7. 调用短信接口,先var_dump()看数据类型是object需要json_decode(json_encode( $resp),true)转换成array

    返回的数据.先看类型,如果是object类型 先json_encode, 再json_decode,加true 转换成数组 $resp = $c->execute($req); var_dump ...

  8. 短信接口调用以及ajax发送短信接口实现以及前端样式

    我们短信api用的是云信使平台提供的非免费短信服务:官网提供的demo有两种,分别是function加其调用.class文件加其调用. 在这里我们用class文件加调用: 首先,ThinkPHP里面自 ...

  9. PJzhang:exiftool图片信息提取工具和短信接口调用工具TBomb

    猫宁!!! 作者:Phil Harvey 这是图片信息提取工具的地址: https://sno.phy.queensu.ca/~phil/exiftool/ 网站隶属于Sudbury 中微子天文台,从 ...

随机推荐

  1. 莫队 Codeforces Round #340 (Div. 2) E

    题目大意:给你一个长度为n的序列,有m个询问,每次询问一个区间[L,R],表示这个区间内,有多少的a[i]^a[i+1].....^a[j]=k. 思路:莫队去搞就好了 我们定义pre[i]=a[1] ...

  2. ACM选修hust 1075 组合+数学+期望值

    Description Input Output Sample Input 2 2 1 0 1 1 0 3 1 0 1 1 1 0 1 1 1 0 Sample Output 0.500 1.125 ...

  3. Findbugs插件安装与使用

    FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具.FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析.FindBug ...

  4. thinkphp博客项目纪录

    项目地址:http://files.cnblogs.com/files/wordblog/blog.zip

  5. docker ubuntu容器更换阿里源(转)

    问题:使用docker 利用下载的ubuntu镜像启动容器时,使用的源下载更新软件的速度较慢. 解决这个问题的方法是跟新ubuntu容器的源 示例:以ubuntu为基础镜像 启动一个名称为 test0 ...

  6. N-gram语言模型与马尔科夫假设关系(转)

    1.从独立性假设到联合概率链朴素贝叶斯中使用的独立性假设为 P(x1,x2,x3,...,xn)=P(x1)P(x2)P(x3)...P(xn) 去掉独立性假设,有下面这个恒等式,即联合概率链规则 P ...

  7. 一文轻松搞懂redis集群原理及搭建与使用

    今天早上由于zookeeper和redis集群不在同一虚拟机导致出了点很小错误(人为),所以这里总结一下redis集群的搭建以便日后所需同时也希望能对你有所帮助. 笔主这里使用的是Centos7.如果 ...

  8. Python标准库笔记(5) — sched模块

    事件调度 sched模块内容很简单,只定义了一个类.它用来最为一个通用的事件调度模块. class sched.scheduler(timefunc, delayfunc)这个类定义了调度事件的通用接 ...

  9. Tomcat参数调优包括日志、线程数、内存【转】

    [Tomcat中日志打印对性能测试的影响] 一般都提供了这样5个日志级别: ▪ Debug ▪ Info ▪ Warn ▪ Error ▪ Fatal 由于性能测试需要并发进行压力测试,如果日志级别是 ...

  10. 关于"轉淚點"与"轉捩點"

    经常看台湾偶像剧或台湾综艺节目的人,一定听过"转泪点"这个词,虽然我一直不知道这三个字具体是怎么写, 但其意思很容易明白,就是"转折点"的意思.今天无聊在看凤凰 ...