java實現手機驗證碼功能
阿新 • • 發佈:2018-11-01
java實現給手機發送驗證碼,是需要平臺的支援的這裡我使用的是http://user.ihuyi.com/互億的簡訊服務
大家可以註冊一個賬號http://user.ihuyi.com/register.htmls這裡是比較簡單的實現大家可以根據自己的需求自行編寫
import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; /** * 驗證碼傳送類 * @author Administrator * */ public class sendsms { private static String Url = "http://106.ihuyi.com/webservice/sms.php?method=Submit";//提交地址 private int mobile_code;//傳送的驗證碼 public int YZM(String SJ){ HttpClient client = new HttpClient(); PostMethod method = new PostMethod(Url);//設定提交地址 client.getParams().setContentCharset("UTF-8");//設定編碼格式 method.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=UTF-8"); mobile_code = (int)((Math.random()*9+1)*100000);//產生驗證碼 String content = new String("您的驗證碼是:" + mobile_code + "。請不要把驗證碼洩露給其他人。"); NameValuePair[] data = {//提交簡訊 new NameValuePair("account", "C45591414"), //檢視使用者名稱是登入使用者中心->驗證碼簡訊->產品總覽->APIID new NameValuePair("password", "aac9a234fdb8412a694713c0b2e0c9cb"), //檢視密碼請登入使用者中心->驗證碼簡訊->產品總覽->APIKEY new NameValuePair("mobile", SJ), //Sj就是手機號碼 new NameValuePair("content",content),//傳送的內容有要求的 }; method.setRequestBody(data);//設定提交資料 try { client.executeMethod(method);//提交資料 /** * 獲取返回資訊狀態 */ String SubmitResult =method.getResponseBodyAsString(); Document doc = DocumentHelper.parseText(SubmitResult); Element root = doc.getRootElement(); String code = root.elementText("code");//返回的狀態資訊 // String msg = root.elementText("msg"); // String smsid = root.elementText("voiceid"); if("2".equals(code)){//2為傳送成功 JOptionPane.showMessageDialog(null, "傳送成功!", "系統提示", 0); } else{ System.out.println(code); JOptionPane.showMessageDialog(null, "傳送失敗!", "系統提示", 0); } } catch (HttpException e) { e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } //將驗證碼返回加以判斷 return mobile_code; } }
然後其他語言或者有什麼不懂的可以參照http://www.ihuyi.com/demo/sms/java.html
連結:https://pan.baidu.com/s/12s72PukOQl11FCJu9lNy7w 密碼:gpce