摘要:最近几天有机会到了一家科技公司,和里面的项目经理聊了一下后端技术,他对我的讲了一下需要会的一些基本技术,其中提到了验证短信发送,今天我就刚学习了验证短信发送信息,主要运用互亿无线短信平台进行发送直入主题。
最近几天有机会到了一家科技公司,和里面的项目经理聊了一下后端技术,他对我的讲了一下需要会的一些基本技术,其中提到了验证短信发送,今天我就刚学习了验证短信发送信息,主要运用互亿无线短信平台进行发送,直入主题。
项目已经上传GitHub:SMS
互亿无线短信平台
互亿无线平台支持多开发语言互亿无线短信平台,还是按照之前的惯例,文档上官网查看,Blog中我们主要将平台的运用,新注册用户可以有免费的50条短信
依赖
1.dom4j主要运用于解析xml
2.httpclient主要运用于发送http请求
3.commons-codec是Apache开源组织提供的用于摘要运算、编码的包。在该包中主要分为四类加密:BinaryEncoders、DigestEncoders、LanguageEncoders、NetworkEncoders
4.commons-logging是Apache commons类库中的一员。Apache commons类库是一个通用的类库,提供了基础的功能,比如说commons-fileupload,commons-httpclient,commons-io,commons-codes
SMS工具类编写
package com.yangzinan.sms; import java.io.IOException; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.omg.CORBA.NamedValue; public class SMSUtil { /* * @param url 请求地址 * @param content 短信内容 * @param account 从互亿后台获取 * @param password 从互亿后台获取 * @param mobile 手机号 */ public static void send(String url,String content,String account,String password,String mobile) throws Exception { /* * 实例话对象 */ HttpClient client = new HttpClient(); PostMethod method = new PostMethod(url); /* * 设置内容编码 */ method.getParams().setContentCharset("GBK"); /* * 设置请求头 */ method.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=GBK"); /* * 发送配置信息 */ NameValuePair[] info = { new NameValuePair("account", account), new NameValuePair("password", password), new NameValuePair("mobile",mobile), new NameValuePair("content",content), }; /* * 设置请求内容 */ method.setRequestBody(info); /* * 执行短信发送 */ client.executeMethod(method); /* * 接受返回值 */ String result_info = method.getResponseBodyAsString(); /* * 解析xml */ Document doc = DocumentHelper.parseText(result_info); Element ele = doc.getRootElement(); String code = ele.elementText("code"); String msg = ele.elementText("msg"); String smsid = ele.elementText("smsid"); System.out.println("code:"+code); System.out.println("msg:"+msg); System.out.println("smsid:"+smsid); } }
url短信发送服务器地址
account、password都需要从互亿无线管理后台中获取
mobile为接收短信的手机号
⚠️注意:由于需要自定义短信模版需要认证,所以短信模版必须为您的验证码是:「变量」。请不要把验证码泄露给其他人。才可以发送成功
package com.yangzinan.sms; public class SendSMS { public static void main(String[] args) throws Exception { String URL="http://106.ihuyi.com/webservice/sms.php?method=Submit"; String account="*******"; String password="*****************"; String mobile="********"; int code = (int)((Math.random()*9+1)*100000); StringBuilder content = new StringBuilder(); content.append("您的验证码是:"); content.append(code); content.append("。请不要把验证码泄露给其他人。"); SMSUtil.send(URL, content.toString(), account, password, mobile); } }
结果
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/70812.html
摘要:最近在学,所以用写了这个抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正。 最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正。话不多说,进入正题: 在进入正题之前,我想说明一下,由于12306官网的改版更新,所以脚本作了一点小小的变化,具体修改后的源码,可以到GitHub上面查看……新...
摘要:无线串口模块是软硬件一体的通信设备,旨在提供简单的无线数传解决方案,降低开发难度,缩短研发周期。泽耀无线串口模块具有高稳定性工业级别,可以实现多种高质量通信模式。二升级更多传输模式升级版无线串口模块采用扩频调制,传输距离远。 ...
摘要:通过通信线路连入通信子网终端是用户访问网络的界面网络操作系统是相对于主机操作系统而言的。接收方使用同一扩频码进行扩解。 目录 一、计算机网络 1.计算机网络技术概述 2.计算机网络分类 3.无线网络分类 二、无线通信和网络仿真技术基础 1.基本概念 2.调制 (1)、概述 (2)、常用方式 ...
摘要:资料预览仿真图总体资料原理图软件设计流程系统框图本设计以单片机为核心控制器,加上其他的模块一起组成温度控制的整个系统,其中包含中控部分输入部分和输出部分。中控部分采用了单片机,其主要作用是获取输入部分数据,经过内部处理,控制输出部分。 ...
阅读 3068·2021-09-28 09:43
阅读 901·2021-09-08 09:35
阅读 1440·2019-08-30 15:56
阅读 1182·2019-08-30 13:00
阅读 2731·2019-08-29 18:35
阅读 1827·2019-08-29 14:07
阅读 3431·2019-08-29 13:13
阅读 1332·2019-08-29 12:40