java程序或javaweb(網站)向手機發送短信

JAVA發送手機短信,大體有以下幾種方法:

(1)使用webservice接口發送手機短信,這個可以使用sina提供的webservice接口進行發送,但是需要進行註冊;

(2)使用短信貓的方式進行短信的發送,這種方式應該是比較的常用,前提是需要購買硬件設備短信貓;

(3)使用中國網建提供的SMS短信平臺,這裏實現的demo也是基於這個接口是發送的;(需要註冊)

(4)採用中國移動的飛信接口,但是針對用戶是對手機開通飛信的用戶。

package com;

import java.io.UnsupportedEncodingException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;

public class Transmission {

	public static void main(String[] args) throws Exception {

		HttpClient client = new HttpClient();
		PostMethod post = new PostMethod("http://gbk.sms.webchinese.cn");
		post.addRequestHeader("Content-Type",
				"application/x-www-form-urlencoded;charset=gbk");// 在頭文件中設置轉碼
		NameValuePair[] data = {
				new NameValuePair("Uid", "XXX"),//網站的註冊用戶名
				new NameValuePair("Key", "XXXXX"),//接口密鑰,在中國網建上你的註冊號那邊找</span>
				new NameValuePair("smsMob", "186********"),//測試手機號,免費的是隻能寫你的註冊號碼
				new NameValuePair("smsText",
						"你好,這個網站給你問好了!【Road】") };//信息內容不要寫測試字樣
		post.setRequestBody(data);
		client.executeMethod(post);
		Header[] headers = post.getResponseHeaders();
		int statusCode = post.getStatusCode();
		System.out.println("statusCode:" + statusCode);
		for (Header h : headers) {
			System.out.println(h.toString());
		}
		String result = new String(post.getResponseBodyAsString().getBytes(
				"gbk"));
		System.out.println(result); // 打印返回消息狀態

		post.releaseConnection();

	}

}

然後下載該網站提供的jar包:

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

發佈了47 篇原創文章 · 獲贊 44 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章