這篇文章主要介紹了Java使用雲片API發送簡訊驗證碼,主要用的是Java實作簡訊驗證碼。需要的朋友可以參考下
下面開始介紹的是如何利用機器完成批次操作,將簡訊業務自動化。
取得APIKEY
雲端片網提供了完整的SDK和API,可以幫助開發者快速完成業務開發。
在開始Coding前,需要先取得APIKEY,如下所示。
取得APIKEY
點選眼睛按鈕後,輸入驗證碼,就可以查看APIKEY了。
這裡要說明的是,APIKEY特別重要,一定要保護好它,避免洩漏。雲片這邊提供了幾重保護機制,例如驗證、敏感處理、子帳號獨立APIKEY等,看得出來他們的安全意識還挺不錯的。
開始Coding
有了APIKEY,就可以直接開始Coding了。
最主要的介面就是這三個,單一發送介面、批次發送介面、批次個人化發送介面。搞清楚這三個介面後,其它的開發基本就是信手拈來了。
單一發送介面
* 单条短信发送,智能匹配短信模板 * * @param apikey 成功注册后登录云片官网,进入后台可查看 * @param text 需要使用已审核通过的模板或者默认模板 * @param mobile 接收的手机号,仅支持单号码发送 * @return json格式字符串 */ public static String singleSend(String apikey, String text, String mobile) { Map<String, String> params = new HashMap<String, String>();//请求参数集合 params.put("apikey", apikey); params.put("text", text); params.put("mobile", mobile); return post("https://sms.yunpian.com/v2/sms/single_send.json", params);//请自行使用post方式请求,可使用Apache HttpClient }
這其中,APIKEY是從雲端片後台取得的。
例如我要給1888888888這個號碼發送,代碼如下:
#String apikey = fx33mio3561dah34jdk748vz9dkfjkd373zdfg28df43dfhjadj; String text = "[云片网] 您的短信验证码是 1234"; String mobile = 18888888888; testSendSms(apikey, text, mobile);
/** * 批量发送短信,相同内容多个号码,智能匹配短信模板 * * @param apikey 成功注册后登录云片官网,进入后台可查看 * @param text 需要使用已审核通过的模板或者默认模板 * @param mobile 接收的手机号,多个手机号用英文逗号隔开 * @return json格式字符串 */ public static String batchSend(String apikey, String text, String mobile) { Map<String, String> params = new HashMap<String, String>();//请求参数集合 params.put("apikey", apikey); params.put("text", text); params.put("mobile", mobile); return post("https://sms.yunpian.com/v2/sms/batch_send.json", params);//请自行使用post方式请求,可使用Apache HttpClient }
#多個手機號之間使用逗號分隔,mobile可以這樣賦值
String mobile = "1888888888, 1234567890, 9876543210"
詳細的說明可以參考這裡。
批量個人化發送介面
很多時候,我們遇到的需求沒有那麼簡單,經常要給不同的手機號碼發送不同的內容,而雲片也提供了對應的API 。
/** * 批量个性化发送 */ public static String multiSend() throws UnsupportedEncodingException { Map<String, String> params = new HashMap<String, String>();//请求参数集合 params.put("apikey", "your apikey"); params.put("text", java.net.URLEncoder.encode("【云片网】您的验证码是1234", "UTF-8") + "," + java.net.URLEncoder.encode("【云片网】您的登录码是8888", "UTF-8")); params.put("mobile", "13812345678,18888888888"); return post("https://sms.yunpian.com/v2/sms/multi_send.json", params);//请自行使用post方式请求,可使用Apache HttpClient }
上面這段程式碼的結果就是第一封簡訊"【雲端片網】您的驗證碼是1234"發給了13812345678,第二則簡訊"【雲端片網】您的登入碼是8888"發給了18888888888,當然這樣的實作方式還是看起來很蠢,不過不用擔心,雲端片網也提供了變數模板,只要替換模板中對應的變數部分,就可以輕鬆實現給多個號碼發送不同的簡訊內容,關於變數模板,以後可以再多聊聊,反正他完美執行了設計模式中OCP原則,簡直經典。
更詳細的介紹,可以看這裡。
以上是Java使用雲片API發送簡訊驗證碼的程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!