互亿无线短信发送

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

项目已经上传GitHub:SMShtml

互亿无线短信平台

互亿无线平台支持多开发语言互亿无线短信平台,仍是按照以前的惯例,文档上官网查看,Blog中咱们主要将平台的运用,新注册用户能够有免费的50条短信java

依赖

clipboard.png

1.dom4j主要运用于解析xmlgit

2.httpclient主要运用于发送http请求github

3.commons-codec是Apache开源组织提供的用于摘要运算、编码的包。在该包中主要分为四类加密:BinaryEncoders、DigestEncoders、LanguageEncoders、NetworkEncodersweb

4.commons-logging是Apache commons类库中的一员。Apache commons类库是一个通用的类库,提供了基础的功能,好比说commons-fileupload,commons-httpclient,commons-io,commons-codesapache

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

    }
}

结果

clipboard.png

相关文章
相关标签/搜索