この記事では、php を使用して SMS 認証コードを送信する操作を公開します。モバイル アプリでアカウントを登録するときに、クリックして認証コードを送信すると、「」というメッセージが表示されると思いますか。数秒以内に「ピー」という音が鳴り、確認コードが携帯電話に送信されます。これはすごいことだと思いますか?
1. ビジネスではログインと登録 API インターフェイスを記述する必要があるため、携帯電話番号登録のフロントエンドとバックエンドの対話プロセスについて学びました (1) ユーザーは、クライアントをクリックして確認コードを送信します (その後、顧客は最後に ajax を使用してリクエストを送信し、ボタンは 60 秒のサイレントタイムになります)
(2) バックエンドのロジック層は、渡された携帯電話番号を受け入れ、検証します形式が正当かどうかを確認し、データベースに入力して一致が存在するかどうかを確認します
(3) 検証コードを生成し、セッションが存在し、その後、curl がサードパーティの SMS インターフェイス リンクに送信されます
(4) サードパーティの SMS インターフェイス リンクを設定します指定された携帯電話番号を持つユーザーに確認コード情報を送信するパーティー SMS プラットフォーム
2. 今日は主にサードパーティ プラットフォームの構成とバックグラウンド処理のロジックについて説明します3. -party プラットフォームは次のとおりです: (他のプラットフォームを選択することもできます。原則はほぼ同様です)
(1) Saidi Cloud Communication ( https://www.mysubmail .com )(2) 登録、実名認証、製品とサービスを入力し、新しいテンプレートを作成します。そのテンプレートの構文はサポート ドキュメントで確認できます
(3) [Create/Manage AppIdD] 列に移動し、プロジェクトを作成して有効にし、デフォルトの「APPID」と「APPKEY」 (4) ホームページに移動し、「View API Development Documentation」リンクをクリックして、POST リクエストへのリンクを取得します:
4.
バックエンドロジック開発:
コア: 検証コードを作成する -> POST リクエスト関数をカプセル化する -> 検証コードをサードパーティによってユーザーの携帯電話に転送する
)
private function sendMessage() { $appId = "xxxxx"; $appKey = "36426a9xxxxxxxxxxxx7bed8583a3c"; $code = $this->makeCode(6); $data = [ "appid" => $appId, "to" => $this->phone, "project" => "FoJ494", "vars" => '{"code":' . $code . ',"time":"60"}', "signature" => $appKey, ]; $res = $this->httpRequest($data); var_dump($res); }
)
-- さて、普通に書き留めてみましょう:private function httpRequest($data) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $this->RequestUrl); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); if (isset($data)) { curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } $res = curl_exec($curl); var_dump(curl_error($curl)); //打印请求错误 curl_close($curl); return $res; }
'SSL 証明書の問題: ローカル発行者証明書を取得できません'。心配しないで、公式チャネルに従って操作を続行してください:
--- https://curl.haxx.se/ に移動します。 docs/caextract.html を使用して cacert.pem をダウンロードします --- 次に、cacert.pem を php ディレクトリに貼り付けてから、php.ini に移動して「;curl.cainfo」を見つけて変更します。 to: curl.cainfo = "C:/wamp/bin/php/php7.0.10/ cacert.pem"、わかりました、役に立ちません、引き続きエラーを報告してください !
--- その後、解決策を探し続けます。次に、オンライン情報に従って、その下の「;openssl.cafile」を次のように変更します: openssl.cafile= "C:/wamp/bin/php/php7.0.10/cacert.pem" 、わかりました、=_=! エラーを報告し続けると、私の心はもうボロボロになってしまいます。 --- それから、二重引用符を削除したり、一重引用符を追加したり、引用符を削除したりしてみましたが、私の心は凍り始めました。まだSSL証明書エラーです! ! --- 私の後ろで、私は水がよどんだような気分で Google でサーフィンを続けましたが、何度も何度もビーチに押し戻され、打ち身と打ち身があり、お腹が空いて喉が渇きました。 --- ついに、ついに、ついに、クソ! ! ! 試してみました~~~(3) 解決策: curl_exec() の前に追加します: (cacert.pem ファイルを現在のディレクトリにコピーします。他のパスも使用できます)
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($curl, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem'); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
5. 最終的な効果。 :
関連する推奨事項:
以上がphpはテキストメッセージの送信を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。