互億無線短信發送

最近幾天有機會到了一家科技公司,和裏面的項目經理聊了一下後端技術,他對個人講了一下須要會的一些基本技術,其中提到了驗證短信發送,今天我就剛學習了驗證短信發送信息,主要運用互億無線短信平臺進行發送,直入主題。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

相關文章
相關標籤/搜索