java web 專案向手機發送簡訊
說明,JAVA傳送手機簡訊,流傳有幾種方法:(1)使用webservice介面傳送手機簡訊,這個可以使用sina提供的webservice進行傳送,但是需要進行註冊;(2)使用簡訊mao的方式進行簡訊的傳送,這種方式應該是比較的常用,前提是需要購買硬體裝置, (3)使用中國網建提供的SMS簡訊平臺.
這裡使用中國網建提供的API給手機發送簡訊。為了使用中國網建給對方手機發送簡訊,需要以下幾步操作:
1.登入中國網建,地址為:http://sms.webchinese.cn/
2.註冊,註冊後你就會有使用者名稱和密碼,密碼會自動發到你的手機裡
3.獲取網管介面密碼,至於如何獲得閘道器介面密碼,我是這樣偶爾獲得的(注意,這裡的網管介面密碼並不是你註冊時傳送到你手機裡的密碼,那密碼是登入密碼)。在該網站裡嘗試發一條簡訊,發簡訊時會有相應的提示,在傳送的過程中會出現你的閘道器介面密碼。
注意:你要儲存好你的閘道器介面祕密,因為每次當你使用程式碼傳送資訊時都需要這個閘道器介面密碼。
以下程式碼所使用的jar可以從http://sms.webchinese.cn/直接獲得。
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;
/**
* @author 劉立喜
*/
public class SendMsg_webchinese {
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", "在這裡填寫在中國網建註冊的使用者名稱"),
new NameValuePair("Key", "在此填寫閘道器介面密碼"),
new NameValuePair("smsMob", "在這裡填寫傳送目的地手機號"),
new NameValuePair("smsText", "在此填寫簡訊內容") };
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();
}
}