1. 程式人生 > >javaweb通過SMS簡訊通API實現簡訊傳送功能

javaweb通過SMS簡訊通API實現簡訊傳送功能

所以在做這個的時候需要在中國網建SMS簡訊平臺註冊個用於測試的使用者名稱,拿到使用者名稱和金鑰

第一部分:SMS簡訊通編碼介面

提示:HTTP呼叫URL介面時, 引數值必須URL編碼後再呼叫

引數變數 說明
Gbk編碼Url http://gbk.sms.webchinese.cn/
Utf-8編碼Url http://utf8.sms.webchinese.cn/
Uid SMS簡訊通使用者名稱(需註冊)
Key 註冊時填寫的介面安全密碼(可修改)
smsMob 目的手機號碼(多個手機號請用半形逗號隔開)
smsText 簡訊內容,最多支援300個字,普通簡訊70個字/條,長簡訊64個字/條計費

提示:①、多個手機號請用半形,隔開如:13888888886,13888888887,1388888888 一次最多對100個手機發送。

      ②、簡訊內容支援長簡訊,最多300個字,普通簡訊66個字/條,長簡訊64個字/條計費 

簡訊傳送後返回值 說明
-1 沒有該使用者賬戶
-2 金鑰不正確
-3 簡訊數量不足
-11 該使用者被禁用
-14 簡訊內容出現非法字元
-4 手機號格式不正確
-41 手機號碼為空
-42 簡訊內容為空
-51 簡訊簽名格式不正確介面簽名格式為:【簽名內容】
大於0 簡訊傳送數量

注意:①、呼叫API介面,需登入中國網建SMS簡訊通平臺,申請106閘道器傳送,即發即到!
      ②、傳送測試簡訊請勿輸入:簡訊測試等詞語,請直接提交您要傳送的簡訊內容;
      ③、介面傳送簡訊時請在內容後加簽名:【XX公司或XX網名稱】,否者會被遮蔽。
      ④、簡訊簽名可在使用者平臺平臺上設定,也可以在簡訊內容後,直接加入。

JAVA語言傳送簡訊核心程式碼:

import java.io.UnsupportedEncodingException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;

public class SendMsg_webchinese {

    public static void main(String[] args)throws Exception{

        HttpClient client = new HttpClient();
        PostMethod post = new PostMethod("http://gbk.sms.webchinese.cn"); 
        post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在標頭檔案中設定轉碼
        NameValuePair[] data ={ 
	    new NameValuePair("Uid", "本站使用者名稱"),
	    new NameValuePair("Key", "介面安全密碼"),
	    new NameValuePair("smsMob","手機號碼"),
	    new NameValuePair("smsText","簡訊內容")
        };
        post.setRequestBody(data);

        client.executeMethod(post);
        Header[] headers = post.getResponseHeaders();
        int statusCode = post.getStatusCode();
        System.out.println("statusCode:"+statusCode);

        for(Header h : headers){
           System.out.println(h.toString());
        }
        String result = new String(post.getResponseBodyAsString().getBytes("gbk")); 
        System.out.println(result);

        post.releaseConnection();
    }
}