资讯专栏INFORMATION COLUMN

互亿无线短信发送

DobbyKim / 404人阅读

摘要:最近几天有机会到了一家科技公司,和里面的项目经理聊了一下后端技术,他对我的讲了一下需要会的一些基本技术,其中提到了验证短信发送,今天我就刚学习了验证短信发送信息,主要运用互亿无线短信平台进行发送直入主题。

最近几天有机会到了一家科技公司,和里面的项目经理聊了一下后端技术,他对我的讲了一下需要会的一些基本技术,其中提到了验证短信发送,今天我就刚学习了验证短信发送信息,主要运用互亿无线短信平台进行发送,直入主题。

项目已经上传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

相关文章

  • Python3.6实现12306火车票自动抢票,并短信和邮件通知

    摘要:最近在学,所以用写了这个抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正。 最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正。话不多说,进入正题: 在进入正题之前,我想说明一下,由于12306官网的改版更新,所以脚本作了一点小小的变化,具体修改后的源码,可以到GitHub上面查看……新...

    Dogee 评论0 收藏0
  • 【干货】串口通信,傻瓜式通信,谁用谁方便

    摘要:无线串口模块是软硬件一体的通信设备,旨在提供简单的无线数传解决方案,降低开发难度,缩短研发周期。泽耀无线串口模块具有高稳定性工业级别,可以实现多种高质量通信模式。二升级更多传输模式升级版无线串口模块采用扩频调制,传输距离远。 ...

    Jenny_Tong 评论0 收藏0
  • 弱网下移动端网络连接处理策略

    摘要:无线网络基站基站控制器这方面,会给手机进行信号的分配,已完成手机连接和交互。给一个手机分配无线信道的信令又有好几个情况,比如基站跟手机,基站跟基站控制器核心网。相比之下,有线网络的状态管理如分配连接释放,都是分钟级,而状态转换则是毫秒级。 〇、引言 作为一个移动端的开发者,一直觉得各个方面有有所了解,结果前几天突然被问到这个问题,一时语塞,发现其实求知的道路还是非常漫长的。这两天针对这...

    ethernet 评论0 收藏0
  • 无线网络技术学习总结

    摘要:通过通信线路连入通信子网终端是用户访问网络的界面网络操作系统是相对于主机操作系统而言的。接收方使用同一扩频码进行扩解。 目录 一、计算机网络 1.计算机网络技术概述 2.计算机网络分类 3.无线网络分类 二、无线通信和网络仿真技术基础 1.基本概念 2.调制 (1)、概述 (2)、常用方式 ...

    animabear 评论0 收藏0
  • 【毕业设计】【单片机俱乐部】基于单片机的GSM无线防火防盗的设计【仿真设计】

    摘要:资料预览仿真图总体资料原理图软件设计流程系统框图本设计以单片机为核心控制器,加上其他的模块一起组成温度控制的整个系统,其中包含中控部分输入部分和输出部分。中控部分采用了单片机,其主要作用是获取输入部分数据,经过内部处理,控制输出部分。 ...

    dockerclub 评论0 收藏0

发表评论

0条评论

DobbyKim

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<