注冊網建短信通賬號
鏈接:http://sms.webchinese.cn/
設置短信簽名
注意不要亂寫別的公司等,會被視為詐騙信息
設置短信密鑰,發送時代替密碼
Java方式實現
導入依賴 commons-httpclient-3.1.jar
編寫SmsUtil工具類
import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod; public class SmsUtil { private String uid; private String key; //用于后面的Spring注入方式實現 public int sendSms(String smsMob,String smsTxt ){ return sendSms(this.uid,this.key,smsMob,smsTxt); } public String getUid() { return uid; } public void setUid(String uid) { this.uid = uid; } public String getKey() { return key; } public void setKey(String key) { this.key = key; } public static void main(String[] args){ int n=sendSms("用戶名","密鑰","手機號","短信內容"); //如int n=sendSms("abc","55555","11234567574","驗證碼:8899"); //返回的是發送成功的短信條數 System.out.println("發送成功:"+n); } public static int sendSms(String uid,String key,String smsMob,String smsTxt ) { PostMethod post =null; try { HttpClient client = new HttpClient(); post = new PostMethod("http://utf8.api.smschinese.cn"); post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf8");//在頭文件中設置轉碼 NameValuePair[] data = { new NameValuePair("Uid", uid) , new NameValuePair("Key", key) , new NameValuePair("smsMob", smsMob) , new NameValuePair("smsText", smsTxt)}; post.setRequestBody(data); client.executeMethod(post); return Integer.parseInt(post.getResponseBodyAsString()); }catch (Exception ex){ ex.printStackTrace(); throw new RuntimeException(ex); } finally { post.releaseConnection(); } } }
前端交互
- 使用Spring進行注入
- 在applicationContext增加配置
- 定義用戶名和密鑰
編寫控制層代碼
到此這篇關于Java實現SMS短信通發送手機驗證碼案例講解的文章就介紹到這了,更多相關Java實現SMS短信通發送手機驗證碼內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/weixin_43981590/article/details/119296295