Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menghantar kod pengesahan SMS dalam php
Kaedah penghantaran: 1. Pengesahan nama sebenar dan aktifkan perkhidmatan antara muka API SMS, dapatkan KUNCI permintaan API 2. Panggil antara muka untuk memohon templat SMS dan tunggu kelulusan 3. Hubungi antara muka API, melalui "function juheHttpRequest($url ,$params=false,$ispost=0){...}" untuk memulakan permintaan rangkaian dan menghantar mesej teks ke nombor telefon mudah alih yang ditentukan mengikut templat yang digunakan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3
PHP- contoh panggilan antara muka API SMS pengesahan berasaskan
Persediaan awal
Pengesahan nama sebenar
Mengikut keperluan pengendali, antara muka ini pada masa ini hanya terbuka kepada pengguna perusahaan yang disahkan nama sebenar, jadi sila pastikan anda adalah pengguna perusahaan yang disahkan nama sebenar sebelum menggunakannya
Mohon untuk antara muka dan dapatkan kunci permintaan kelayakan panggilan antara muka
Melalui https://www.juhe.cn/docs/api/id/486?s=cpphpcn
aplikasi layan diri untuk membuka antara muka
Anda boleh melihat panggilan antara muka ini di Pusat Peribadi ➡️ Pusat Data ➡️ Kunci permintaan Baucar Modul API saya
Bilangan permintaan untuk membeli data (antara muka percuma dan percuma boleh dinyahpepijat dahulu)
Mesti ikut dokumen Selepas memohon templat antara muka yang disediakan, antara muka hanya boleh dipanggil selepas semakan perkhidmatan pelanggan diluluskan
Arahan khas
Sila baca dokumen antara muka laman web rasmi ini dengan teliti perjanjian antara data agregat dan pembangun Ia akan membantu anda memahami perniagaan antara muka dan menjalankan kerja pembangunan dengan lancar
Fokus contoh ini adalah untuk membantu pembangun berjaya memperoleh data tindak balas. antara muka. Artikel ini tidak akan membincangkan logik perniagaan pembangun seperti pemprosesan data
Contoh ini bertujuan untuk memudahkan langkah panggilan untuk pembangun pada tahap yang paling besar Modul fungsi tidak dirangkumkan ke dalam kelas alat bebas, supaya pembangun boleh terus menjalankan dan menyahpepijat selepas menyalinnya dengan satu klik
Disebabkan keupayaan terhad, pasti terdapat ralat dan ketinggalan dalam contoh. sila kritik dan betulkannya
Penerangan Parameter
Parameter antara muka aplikasi templat:
参数名 | 必填 | 说明 |
---|---|---|
signature | true | 模板签名(长度为2-16个中文字符),比如:公司名、产品名称 |
key | true | 申请的请求key |
tplcode | true | 可供选择的模板id |
Parameter antara muka penghantaran SMS:
参数名 | 必填 | 说明 |
---|---|---|
mobile | true | 手机号 |
tpl_id | true | 模板id |
key | true | 申请的请求key |
tpl_value | false | 模板变量,根据模板中变量决定,可为空 |
Semua kod
Contoh permintaan antara muka aplikasi templat
<?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; }
Contoh permintaan antara muka penghantaran SMS
<?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; }
Jalankan hasil
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menghantar kod pengesahan SMS dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!