JAVAWEB實現簡訊驗證---夢網雲

Eternallyc發表於2018-09-05

PS:這是一個封裝好的java類,只需要改動apikey並且呼叫這個run方法時傳入手機號碼和6位數的驗證碼

這是java檔案https://download.csdn.net/download/qq_38712932/10648220

package SMS;

import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicHeader;
import org.apache.http.protocol.HTTP;
import org.json.simple.JSONObject;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

//需要匯入 demo裡面的 lib包 或者根據自己的需要匯入相應的jar包(官方的demo的jar包)


public class Sms {
    public static String URL = "http://api01.monyun.cn:7901/sms/v2/std/single_send";
    @SuppressWarnings("unchecked")
    public void run(String ctel,String code){
        JSONObject jsobj1 = new JSONObject();
        // 需要替換自己的傳送賬號的apikey
        jsobj1.put("apikey", "此處需要替換自己的傳送賬號的apikey");
        // 需要替換自己的測試手機號碼
        jsobj1.put("mobile", ctel);
        // 需要替換自己測試的內容 簡訊內容需要進行 根據GBK編碼方式的urlencode
        // 一下內容是(您手機的註冊驗證碼為:123456,如有問題請撥打客服電話:40066666111) 其中123456
        // 可以更改為自己的驗證內容

        jsobj1.put("content",
                "%C4%FA%CA%D6%BB%FA%B5%C4%D7%A2%B2%E1%D1%E9%D6%A4%C2%EB%CE%AA%A3%BA"
                        +code+ "%A3%AC%C8%E7%D3%D0%CE%CA%CC%E2%C7%EB%B2%A6%B4%F2%BF%CD%B7%FE%B5%E7%BB%B0%A3%BA40066666111");
        post(jsobj1);

    }

    public String post(JSONObject json) {

        HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost(URL);

        post.setHeader("Content-Type", "application/json");
        post.addHeader("Authorization", "Basic YWRtaW46");
        String result = "";

        try {

            StringEntity s = new StringEntity(json.toString(), "utf-8");
            s.setContentEncoding(
                    new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
            post.setEntity(s);

            // 傳送請求
            HttpResponse httpResponse = client.execute(post);

            // 獲取響應輸入流
            InputStream inStream = httpResponse.getEntity().getContent();
            BufferedReader reader = new BufferedReader(
                    new InputStreamReader(inStream, "utf-8"));
            StringBuilder strber = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null)
                strber.append(line + "\n");
            inStream.close();

            result = strber.toString();

            if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                System.out.println("請求伺服器成功,做相應處理");
            } else {
                System.out.println("請求服務端失敗");
            }

        } catch (Exception e) {
            System.out.println("請求異常");
            throw new RuntimeException(e);
        }

        return result;
    }

}

相關文章