まず、登録し、ネットワークユーザーを構築するにはログインし、新たに登録されたユーザーは、テストメッセージを受信します5
組み込みメッセージングネットワークアドレス: http://sms.webchinese.cn/default.shtml
コードに直接、詳細には触れません。ここでアカウントを登録します
pom.xmlファイル1.輸入依存
<! -短信依赖- > <依存> <groupIdを>コモンズ-ログイン</ groupIdを> <たartifactId>コモンズ-ログイン</たartifactId> <バージョン> 1.1.1 </バージョン> </依存関係> <依存> < groupId>コモンズ・コーデック</ groupIdを> <たartifactId>コモンズ・コーデック</たartifactId> <バージョン> 1.4 </ version>の </依存関係> <依存> <groupIdを>コモンズ-のHTTPClient </ groupIdを> <たartifactId>コモンズ-のHTTPClient </たartifactId> <バージョン> 3.0.1 </バージョン> </依存関係>
2.新しいSMSツールクラスを作成しますSendMessageUtil
インポートorg.apache.commons.httpclient.Header; インポートorg.apache.commons.httpclient.HttpClient; インポートorg.apache.commons.httpclient.NameValuePair; インポートorg.apache.commons.httpclient.methods.PostMethod; インポートjava.utilのクラス.Random; パブリック クラスSendMessageUtil { プライベート 静的な 最終文字列SMS_Url = "http://sms.webchinese.cn/web_api/" ; / ** * @param UidのSMSのユーザーID:SMSアカウント * @param キーインタフェースキー:SMS調査するにはログインしてください(非パスワード) * @param sendPhoneNum SMS先番号 * @paramDESCメッセージの内容 * @return 整数(1:成功コード、その他の障害、特に注意を参照) * / パブリック 静的整数(UID文字列、文字列のキー、sendPhoneNum文字列、文字列のDESCを){送る のHttpClientクライアント = 新しい新しいHttpClientを(); PostMethod POST = 新しい新しいPostMethod(SMS_Url); post.addRequestHeader( "コンテンツタイプ"、 "ファイルアプリケーション/ x-www-form-urlencodedで、文字セット= GBK"); // 設定トランスヘッダファイル // パラメータセット NameValuePairsのを[] =データ{ 新規新しい NameValuePairsの( "Uidの" 、UID)、 新たな新規 NameValuePairsの( "キー"キー)// 秘钥 新規のNameValuePair( "smsMob" 、sendPhoneNum)、 新規のNameValuePair( "smsText" 、DESC) }。 post.setRequestBody(データ)。 してみてください{ client.executeMethod(ポスト)。 } キャッチ(例外e){e.printStackTrace(); } ヘッダ[]ヘッダー = post.getResponseHeaders()。 INTからstatusCode = post.getStatusCode()。 System.out.println( "からstatusCode:" + からstatusCode)。 用{(ヘッダヘッダH) System.out.printlnは(h.toString())。 } 文字列結果 = "" ; 試み{ 結果 = 新しい新しい文字列(post.getResponseBodyAsString()GetBytesメソッド( "GBK" )); } キャッチ(例外E){e.printStackTrace();} post.releaseConnection(); 戻りInteger.parseIntを(結果); } / ** *このユーザアカウントではありません-1 -2インターフェースキーがより正しくない[表示キー]アカウントのログインパスワードである -21 MD5インターフェース鍵暗号間違った メッセージの-3不十分数 -11ユーザーであります無効 -14メッセージの内容が不正な文字表示 -4電話番号の形式が不正である -41電話番号が空である -42メッセージの内容が空である -51 SMS署名フォーマットが正しくインタフェース署名フォーマットである:[署名されたコンテンツ] -6 IP制限 メッセージの数が0より大きい送信 その他の補数 。* / パブリック 静的な文字列のgetMessage(整数コード){ 文字列メッセージ、 IF(コード> 0 ){ メッセージ =「F SMSメッセージが達する正常に送信されました!」+コード+「記事」; } 他の IF(コード-1 == ){ メッセージ = "SMS-ないユーザアカウント" ; } そう IF(コード== -2 ){ メッセージ = "SMS-インターフェースキーが正しくありません" ; } そう IF(コード== -21 ) { メッセージ =「SMS-鍵暗号へのインタフェースはMD5正しくありません」 } さもなければ IF(コード== -3 ){ メッセージ = "不足量SMS-メッセージ" ; } そう IF(コード== -11 ){ メッセージ = "ユーザーが無効になっているSMS-" ; } そう IF(コード== - 14 ){ メッセージ =「SMSメッセージの内容が不正な文字表示」; } そう IF == -4(コード){ メッセージ =「SMS電話番号の形式が正しくありません」; } そう IF(コード== -41 ){ メッセージを =「SMS-空の携帯電話番号」; }他 IF(コード== -42 ){ メッセージ =「SMS-メッセージが空である」; } そう IF(コード== -51 ){ メッセージインタフェース署名フォーマットなど=「SMS-メッセージ間違った署名フォーマット:[署名]コンテンツ" ; } そう IF(コード== -6 ){ メッセージ =" SMSをIPは、制限" ; } 他{ メッセージ ="その他のエラー" ; } 戻りメッセージ; } / ** * 6つのランダムに生成されたコード * @return * / パブリック 静的ストリングgetRandomCode(整数コード){ ランダムランダム = 新しいランダム(); StringBufferの結果 = 新しいStringBufferを(); 以下のために(int型、iはコードを<; I = 0 iは++ ){ result.append(にRandom.nextInt( 10 ))。 } を返す)(result.toString。 } }
3.コントローラのコール層プロセス
SendMessageUtil.send(「ネットワーク構築・メッセージングアカウント」、「キー」、「受信者の携帯電話番号」、「コンテンツ送信」);