1. 程式人生 > >java實現手機驗證碼功能

java實現手機驗證碼功能

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