第三方短信接口使用測試


1、導入包:

// https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient
compile group: 'commons-httpclient', name: 'commons-httpclient', version: '3.1'

2、選一個第三方短信網站
http://sms.webchinese.cn/
3、了解其中短信測試接口
4、測試代碼如下:

    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 static void main(String[] args) {
            try {
                String code = sendCode("your phone","xxx","xx");
                System.out.println( code );
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
public static String sendCode(String phone,String content,String code)throws Exception{
    System.out.println("::::::::::::"+code);
    HttpClient client = new HttpClient();
    PostMethod post = new PostMethod("http://utf8.api.smschinese.cn");
    post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf8");//在頭文件中設置轉碼
    NameValuePair[] data ={ new NameValuePair("Uid", "注冊的用戶名"),
            new NameValuePair("Key", "注冊后的密鑰"),
            new NameValuePair("smsMob",phone),
            new NameValuePair("smsText",content)};
    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("utf-8"));//或gbk
    System.out.println(result); //打印返回消息狀態
    post.releaseConnection();
    return result;
}

另外:
若是用於短信注冊或登錄驗證,原理如下:
發送短信驗證碼的原理是:隨機生成一個6位數字,將該6位數字保存到session當中,客戶端通過sessionid判斷對應的session,用戶輸入的驗證碼再與session記錄的驗證碼進行比較。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM