Heim > Artikel > Backend-Entwicklung > So senden Sie einen SMS-Bestätigungscode in PHP
Sendemethode: 1. Authentifizierung mit echtem Namen und Aktivierung des SMS-API-Schnittstellendienstes, um den API-Anfrageschlüssel zu erhalten. 2. Rufen Sie die Schnittstelle auf, um die SMS-Vorlage zu beantragen, und warten Sie auf die Genehmigung. 3. Rufen Sie die API-Schnittstelle auf und übergeben Sie sie. Funktion juheHttpRequest($url,$params= false,$ispost=0){...}“-Methode zum Initiieren einer Netzwerkanfrage und zum Senden einer Textnachricht an die angegebene Mobiltelefonnummer gemäß der angewendeten Vorlage.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer
Beispiel für den Aufruf einer SMS-API-Schnittstelle mit PHP-basiertem Bestätigungscode
Vorbereitung
Authentifizierung mit echtem Namen
Gemäß den Anforderungen des Betreibers steht diese Schnittstelle derzeit nur Unternehmensbenutzern mit Authentifizierung mit echtem Namen offen. Stellen Sie daher bitte sicher, dass Sie ein Unternehmensbenutzer mit Authentifizierung mit echtem Namen sind, bevor Sie sie verwenden
Bewerben Sie sich für die Schnittstelle und erhalten Sie die Anrufanmeldeinformationen des Schnittstellenanforderungsschlüssels
Über die https://www.juhe.cn/docs/api/id/486?s=cpphpcn
Self-Service-Anwendung zum Öffnen der Schnittstelle
können Sie zu Personal Center ➡️ Data Center ➡️ My API-Modul gehen, um den Anruf anzuzeigen Anmeldeinformationen dieser Schnittstelle zum Anfordern des Schlüssels
Die Anzahl der Anfragen zum Kauf von Daten (kostenlos und Schnittstellen mit Geschenkzeiten). Sie können es zuerst debuggen)
Sie müssen eine Vorlage gemäß der von bereitgestellten Schnittstelle beantragen Dokument, und die Schnittstelle kann erst aufgerufen werden, nachdem die Kundendienstüberprüfung bestanden wurde
Besondere Anweisungen
Bitte lesen Sie das Schnittstellendokument auf der offiziellen Website sorgfältig durch Dies ist eine Vereinbarung zwischen aggregierten Daten und Entwickler. Es wird Ihnen helfen, das Schnittstellengeschäft zu verstehen und die Entwicklungsarbeit reibungslos durchzuführen
Der Schwerpunkt dieses Beispiels liegt darauf, Entwicklern dabei zu helfen, die Antwort der Schnittstelle erfolgreich zu erhalten. In diesem Artikel wird nicht auf die Geschäftslogik des Entwicklers eingegangen Datenverarbeitung. Dieses Beispiel soll die Aufrufschritte des Entwicklers weitestgehend vereinfachen. Es kapselt die Funktionsmodule nicht in unabhängige Toolklassen, um Entwicklern das Ausführen und Debuggen direkt nach dem Kopieren zu erleichtern , es wird zwangsläufig Fehler und Auslassungen in den Beispielen geben, bitte kritisieren und korrigieren Sie diese
BeschreibungSchlüssel
wahrAnfrageschlüssel anwendentplcode | true | Optionale Vorlagen-ID |
---|---|---|
Parametername | ||
Anweisungen | ||
wahr | Handynummer |
key | true | application request key |
---|---|---|
false | template variable, bestimmt durch die Variablen in Vorlage, kann leer sein | |
Alle Codes | ||
<?php // 请求的接口URL $apiUrl = 'http://v.juhe.cn/vercodesms/submitTpl.php?'; // 请求参数 $params = [ // 模板签名 'signature' => '模板签名(长度为2-16个中文字符),比如:公司名、产品名称', // 您申请的接口调用Key 'key' => '您申请的接口调用Key', //发送的手机号 'tplcode' => '可供选择的模板id', ]; $paramsString = http_build_query($params); // 发起接口网络请求 $response = null; try { $response = juheHttpRequest($apiUrl, $paramsString, 1); } catch (Exception $e) { var_dump($e); //此处根据自己的需求进行自身的异常处理 } if (!$response) { echo "请求异常" . PHP_EOL; } $result = json_decode($response, true); if (!$result) { echo "请求异常" . PHP_EOL; } $errorCode = $result['error_code']; if ($errorCode === 0) { $data = $result['result']; echo "您申请的模板id:{$data["tplId"]}" . PHP_EOL; } else { // 请求异常 echo "请求异常:{$errorCode}_{$result["reason"]}" . PHP_EOL; } /** * 发起网络请求函数 * @param string $url 请求的URL * @param bool $params 请求的参数内容 * @param int $ispost 是否POST请求 * @return bool|string 返回内容 */ function juheHttpRequest($url, $params = false, $ispost = 0) { $httpInfo = []; $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); curl_setopt($ch, CURLOPT_TIMEOUT, 12); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); if ($ispost) { curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); curl_setopt($ch, CURLOPT_URL, $url); } else { if ($params) { curl_setopt($ch, CURLOPT_URL, $url . '?' . $params); } else { curl_setopt($ch, CURLOPT_URL, $url); } } $response = curl_exec($ch); if ($response === FALSE) { // echo "cURL Error: ".curl_error($ch); return false; } $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $httpInfo = array_merge($httpInfo, curl_getinfo($ch)); curl_close($ch); return $response; } |
Beispiel für eine Anforderung einer SMS-Sendeschnittstelle | <?php // 请求的接口URL $apiUrl = 'http://v.juhe.cn/vercodesms/send?'; // 请求参数 $params = [ // 模板id 'tplId' => '模板id', // 您申请的接口调用Key 'key' => '您申请的接口调用Key', //发送的手机号 'mobile' => '发送的手机号', //结合自己的模板中的变量进行设置,如果没有变量,可以删除此参数 'tplValue' => urlencode('#total#=1000&#used#=100&#balance#=900'), ]; $paramsString = http_build_query($params); // 发起接口网络请求 $response = null; try { $response = juheHttpRequest($apiUrl, $paramsString, 1); } catch (Exception $e) { var_dump($e); //此处根据自己的需求进行自身的异常处理 } if (!$response) { echo "请求异常" . PHP_EOL; } $result = json_decode($response, true); if (!$result) { echo "请求异常" . PHP_EOL; } $errorCode = $result['error_code']; if ($errorCode === 0) { $data = $result['result']; echo "请求唯一标示:{$data["sid"]}" . PHP_EOL; } else { // 请求异常 echo "请求异常:{$errorCode}_{$result["reason"]}" . PHP_EOL; } /** * 发起网络请求函数 * @param string $url 请求的URL * @param bool $params 请求的参数内容 * @param int $ispost 是否POST请求 * @return bool|string 返回内容 */ function juheHttpRequest($url, $params = false, $ispost = 0) { $httpInfo = []; $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); curl_setopt($ch, CURLOPT_TIMEOUT, 12); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); if ($ispost) { curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); curl_setopt($ch, CURLOPT_URL, $url); } else { if ($params) { curl_setopt($ch, CURLOPT_URL, $url . '?' . $params); } else { curl_setopt($ch, CURLOPT_URL, $url); } } $response = curl_exec($ch); if ($response === FALSE) { // echo "cURL Error: ".curl_error($ch); return false; } $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $httpInfo = array_merge($httpInfo, curl_getinfo($ch)); curl_close($ch); return $response; } | Laufende Ergebnisse
Empfohlenes Lernen: „ |
Das obige ist der detaillierte Inhalt vonSo senden Sie einen SMS-Bestätigungscode in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!