1. 程式人生 > >java向手機號傳送簡訊驗證碼

java向手機號傳送簡訊驗證碼

需要下載這三個jar包  

commons-logging-1.1.1.jar
commons-httpclient-3.1.jar
commons-codec-1.4.jar

點選sms註冊才可以用簡訊驗證碼

1.註冊完畢就需要登入


2.登入完畢需要檢視簡訊金鑰  “點選修改簡訊金鑰就能看見簡訊金鑰” 第一次進來還會有簽名(也是如上圖這個頁面),也是必須要填寫的,不然簡訊驗證碼釋出出去哦!

3.萬事具備,只差程式碼啦!! java程式碼貼上


package smsCode;

import java.io.IOException;
import java.net.HttpCookie;

import org.apache.commons.httpclient.Header;
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;

public class AuthenticationCode {
	public static void main(String[] args) throws HttpException, IOException {
		// 簡訊驗證測試方法
		HttpClient client = new HttpClient();
		//向http://gbk.sms.webchinese.cn傳送請求
		PostMethod post = new PostMethod("http://gbk.sms.webchinese.cn");
		// 在標頭檔案中設定轉碼
		post.addRequestHeader("Content-Type",
				"application/x-www-form-urlencoded;charset=gbk");
		//NameValuePair是簡單名稱值對節點型別。多用於Java像url傳送Post請求
		//設定表單元素,和填值
		NameValuePair[] data = { new NameValuePair("Uid", "本站使用者名稱"),
				new NameValuePair("Key", "介面安全祕鑰"),
				new NameValuePair("smsMob", "手機號"),
				new NameValuePair("smsText", "驗證碼:3698451,請保管好您的驗證碼!") };
		
		// 將表單的值放入postMethod中
		post.setRequestBody(data);
		
		client.executeMethod(post);
		Header[] headers =post.getRequestHeaders();
		int statusCode=post.getStatusCode();
		System.out.println("statusCode:"+statusCode);
		for(Header header :headers){
			System.out.println(header.toString());
		}
		String result=new String(post.getResponseBodyAsString().getBytes("gbk"));
        System.out.println(result); //列印返回訊息狀態
        //釋放連線。無論執行方法是否成功,都必須釋放連線
        post.releaseConnection();
	}
}


成功以後控制檯顯示如下



然後馬上手機簡訊驗證碼就接收到了,就成功了呦,給大家看看  

那個“[北京]”  就是簽名。



大功告成嘍