序文
最近、私はリモートインテリジェントウォーターメーター管理システムに取り組んでいます。登録ページに携帯電話を使用して登録できるこのプロセスの関数があります。携帯電話検証コードの実装プロセスを大まかに理解する前に、私は長い間探していました。今日はあなたと共有します。以下ではあまり言いません。詳細な紹介を一緒に見てみましょう。
SMS検証コード実装プロセス
1.携帯電話検証コードを構築します:ランダムオブジェクトで必要な乱数を使用して、4ビット検証コードなどの検証コードとして生成されます。1000〜9999のランダム数。
2。インターフェイスを使用して、携帯電話番号と検証コードデータをSMSプラットフォームに送信すると、SMSプラットフォームは検証コードを策定された携帯電話番号に送信します。インターフェイスパラメーターには、通常、ターゲット携帯電話番号、ランダム検証コード(または有効期限時間を含む)、プラットフォームインターフェイスアドレス、およびプラットフォームパスワードが含まれます。
3.インターフェイスによって返された情報を保存します(通常はJSONテキストデータ、その後JSONオブジェクト形式に変換する必要があります)。
4.後で検証するために、セッションに携帯電話番号検証コードと操作時間を保存します。
5。検証コードとユーザーが記入したその他のデータを受信します。
6.送信された検証コードがセッションの検証コードと一致しているかどうかを比較し、提出アクションが有効期間内であるかどうかを判断します。
7.検証コードは正しく、有効期間内に、対応するビジネスを処理するための要求が渡されます。
今日は、最初の4つのステップを実装します。
プロセスを簡素化するために、確認コードとしてランダムに生成された数値の代わりに固定携帯電話検証コードを使用します
ここには、フロントエンドページとバックエンドロジック処理ページがあります。以下は、簡単に説明する2つの項目です。
フロントエンドページ
<body> <h1> <%send send = new send(); String Postdata = "account = jamesxt&password = 18770918982lkx&Mobile = 18770918982&content ="+java.urlencoder.encode( "Your注文コード:4557。助けが必要な場合は、カスタマーサービスに連絡してください。 //out.println(postdata); string ret = send.sms(postdata、 "http://sms.106jiekou.com/utf8/sms.aspx"); out.println(ret); //返品された文字列を自分で脱出して、あなた自身の論理%> </h1> </body>を実装してください
Postdata:SMSサービスプラットフォームに提出するのは保留中のデータです。通常、SMSサービスプラットフォーム登録者のユーザーアカウント名とパスワード、およびSMS検証コードを送信する完全なコンテンツと、SMS検証コードが属する情報が含まれます。
string ret = send.sms(postdata、http://sms.106jiekou.com/utf8/sms.aspx);
これは、データをSMSサービスプラットフォームのWebサイトにバインドすることです。つまり、送信されたデータを処理のために配信するプラットフォームです。
バックグラウンドロジック処理クラス:
public class send {// SMSメソッドには2つのパラメーターがあります。このパラメーターは、前景色のページと前者に拘束されたSMSサービスアドレスによって提出されたポストデータによって決定されます。 public static string sms(string postdata、string posturl){try {// post request url url = new url(posturl); httpurlconnection conn =(httpurlconnection)url.openconnection(); conn.setRequestMethod( "post"); conn.setRequestProperty( "content-type"、 "application/x-www-form-urlencoded"); conn.setRequestProperty( "Connection"、 "Keep-Alive"); conn.setusecaches(false); conn.setDoOutput(true); conn.setRequestProperty( "content-length"、 "" + postdata.length()); outputStreamWriter out = new outputStreamWriter(conn.getOutputStream()、 "utf-8"); //フォアグラウンドから送信されたデータを出力ストリームに入れます。つまり、SMSサービスプラットフォームにサービスリクエストを送信します。 out.flush(); out.close(); //応答ステータスコードを取得する場合(conn.getResponseCode()!= httpurlconnection.http_ok){system.out.println( "connect failed!");戻る ""; } //応答コンテンツ文字列line、result = ""; bufferedReader in = new BufferedReader(new inputStreamReader(conn.getInputStream()、 "utf-8")); while((line = in.readline())!= null){result + = line + "/n"; } in.close();返品結果; } catch(ioException e){e.printstacktrace(system.out); } 戻る ""; }}最後に、デモソースコードアドレスが添付されています:http://xiazai.vevb.com/201712/yuanma/mobileregist(vevb.com).rar
このデモで使用されているSMSサービスプロバイダーアドレスは、http://www.106jiekou.com/login/?returnurl=/member/trigger/templates/です。
要約します
上記は、この記事のコンテンツ全体です。この記事の内容には、すべての人の研究や仕事に特定の参照値があることを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとることができます。 wulin.comへのご支援ありがとうございます。