Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menghantar mesej teks dalam php

Bagaimana untuk menghantar mesej teks dalam php

青灯夜游
青灯夜游asal
2022-10-19 18:55:161593semak imbas

Kaedah penghantaran: 1. Pengesahan nama sebenar dan aktifkan perkhidmatan antara muka API SMS untuk mendapatkan KUNCI permintaan API 2. Mohon templat SMS dan tunggu kelulusan 3. Panggil antara muka API dan lulus "; fungsi juheHttpRequest($url,$ params=false,$ispost=0){...}" kaedah untuk memulakan permintaan rangkaian, memproses data dan mengembalikan hasilnya; 4. Gunakan "$response=juheHttpRequest(...) ;" untuk menerima kandungan dan mengeluarkannya.

Bagaimana untuk menghantar mesej teks dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3

Berasaskan SMS pada contoh panggilan antara muka API PHP

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, Dapatkan kunci permintaan kelayakan panggilan antara muka

    Melalui https://www.juhe.cn/docs/api/id/54?s=cpphpcn aplikasi layan diri untuk membuka antara muka

    , anda boleh melihat hubungi kunci permintaan kelayakan antara muka ini dalam Pusat Peribadi ➡️ Pusat Data ➡️ Modul API Saya

  • Bilangan permintaan untuk membeli data (antara muka percuma dan percuma boleh dinyahpepijat dahulu)

  • Tambah terlebih dahulu di pusat peribadi tapak web rasmi Mohon untuk templat SMS , dan antara muka hanya boleh dipanggil selepas semakan perkhidmatan pelanggan diluluskan

Arahan khas

  • Sila baca dokumen antara muka laman web rasmi ini dengan teliti ialah perjanjian antara data agregat dan pembangun Ia akan membantu anda memahami perniagaan antara muka dan dengan itu menjalankan kerja pembangunan dengan lancar

  • Fokus contoh ini adalah untuk membantu pembangun berjaya memperoleh data respons. daripada antara muka. Artikel ini tidak akan membincangkan logik perniagaan pembangun seperti pemprosesan data

  • Contoh ini bertujuan untuk memudahkan langkah panggilan untuk pembangun ke tahap yang paling besar modul ke dalam kelas alat bebas, supaya pembangun boleh terus menjalankan dan nyahpepijat selepas menyalin dengan satu klik

  • Disebabkan oleh mendatar Disebabkan kebolehan terhad, sudah pasti terdapat ralat dan ketinggalan dalam contoh. Jika anda menemui apa-apa, sila kritik dan betulkan

Catatan Antara Muka

  • Pengendali mengehadkan kandungan dengan nombor dan tandatangan yang sama kepada hanya 1 mesej seminit, 3 mesej setiap 10 minit, 4 mesej setiap jam dan 20 mesej setiap hari, jika tidak, ia mungkin disekat Penyekatan perniagaan

  • Antaramuka api SMS itu sendiri tidak mengehadkan kekerapan penghantaran Kekerapan penghantaran khusus perlu ditetapkan oleh pengguna Ia hanya terhad kepada nombor telefon mudah alih domestik

  • Sila pastikan Tambah. kod pengesahan imej dan mekanisme serangan anti-berniat jahat yang lain untuk menghalang pengeboman SMS Tambah T untuk berhenti melanggan pada akhir kandungan pemasaran Masa penghantaran SMS pemasaran ialah: 8:30 hingga 21:30. Kandungan pemasaran mempunyai mekanisme anti-pancingan data Tolong jangan hantar satu pun mesej. kandungan (termasuk tandatangan) kurang daripada atau sama dengan 70 aksara akan dikira Yuran 1. Mesej teks yang melebihi 70 aksara dianggap sebagai mesej yang panjang dan akan dicaj untuk setiap 67 aksara

  • Perihalan Parameter

Semua kod
参数名 必填 说明
mobile true 手机号
tpl_id true 模板id
key true 申请的请求key
tpl_value false 模板变量,根据模板中变量决定,可为空

Pembelajaran yang disyorkan: "Tutorial Video PHP

"
<?php
// 请求的接口URL
$apiUrl = &#39;http://v.juhe.cn/sms/send?&#39;;
// 请求参数
$params = [
    // 模板id
    &#39;tpl_id&#39; => &#39;模板id&#39;,
    // 您申请的接口调用Key
    &#39;key&#39; => &#39;您申请的接口调用Key&#39;,
    //发送的手机号
    &#39;mobile&#39; => &#39;发送的手机号&#39;,
    //结合自己的模板中的变量进行设置,如果没有变量,可以删除此参数
    &#39;tpl_value&#39; => urlencode(&#39;#total#=1000&#used#=100&#balance#=900&#39;),
];
$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[&#39;error_code&#39;];
if ($errorCode === 0) {
    $data = $result[&#39;result&#39;];

    echo "请求唯一标示:{$data["sid"]}" . PHP_EOL;
    echo "请求消耗次数:{$data["fee"]}" . 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, &#39;Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36&#39;);
    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 . &#39;?&#39; . $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;
}

Atas ialah kandungan terperinci Bagaimana untuk menghantar mesej teks dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn