Heim >Backend-Entwicklung >PHP-Problem >So senden Sie Textnachrichten in PHP

So senden Sie Textnachrichten in PHP

青灯夜游
青灯夜游Original
2022-10-19 18:55:161593Durchsuche

Sendemethode: 1. Authentifizierung mit echtem Namen und Aktivierung des SMS-API-Schnittstellendienstes, um den API-Anfrageschlüssel zu erhalten; 2. Beantragen Sie die SMS-Vorlage und warten Sie auf die Genehmigung. 3. Rufen Sie die API-Schnittstelle auf und übergeben Sie „function juheHttpRequest($ url,$params=false, $ispost=0){...}“-Methode initiiert eine Netzwerkanfrage, verarbeitet die Daten und gibt das Ergebnis zurück; 4. Verwenden Sie „$response=juheHttpRequest(...);“, um die zu akzeptieren Inhalte erfassen und ausgeben.

So senden Sie Textnachrichten in PHP

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer

PHP-basiertes SMS-API-Schnittstellenaufrufbeispiel

Vorbereitende Vorbereitung

  • Authentifizierung mit echtem Namen

    Gemäß den Anforderungen des Betreibers ist diese Schnittstelle derzeit nur für mit echtem Namen authentifizierte Unternehmensbenutzer geöffnet. Stellen Sie daher bitte sicher, dass Sie ein mit echtem Namen authentifizierter Unternehmensbenutzer sind, bevor Sie sie verwenden

  • Anwenden für die Schnittstelle und erhalten Sie den Anforderungsschlüssel für Anrufanmeldeinformationen der Schnittstelle

    Über die https://www.juhe.cn/docs/api/id/54?s=cpphpcn Self-Service-Anwendung zum Öffnen der Schnittstelle

    können Sie den Anforderungsschlüssel für Anrufgutscheine dieser Schnittstelle im Personal Center ➡️ Data Center ➡️ My API module

    sehen
  • Die Anzahl der Anfragen zum Kauf von Daten (kostenlose und kostenlose Schnittstellen mit kostenlosen Zeiten können zuerst debuggt werden)

  • Bewerben Sie sich im Voraus für eine SMS-Vorlage im persönlichen Center der offiziellen Website der Aggregation erst nach bestandener Kundendienstüberprüfung angerufen werden

Besondere Anweisungen

Das Operatorlimit ist dasselbe wie 1 Inhalt mit derselben Nummer und Signatur Erhalten Sie 1 Nachricht in 1 Minute, 3 Nachrichten in 10 Minuten, 4 Nachrichten in 1 Stunde und 20 Nachrichten an einem Tag, andernfalls kann es vom Betreiber blockiert werden

  • Die SMS-API-Schnittstelle selbst begrenzt die Sendehäufigkeit nicht. Die spezifische Sendehäufigkeit muss vom Benutzer festgelegt werden, nur für inländische Mobiltelefonnummern

  • Bitte fügen Sie am Ende unbedingt Bildverifizierungscodes und andere Abwehrmechanismen hinzu, um SMS-Bombing zu verhindern Der Marketinginhalt Die Versandzeit für Marketing-SMS beträgt: 8:30 bis 21:30 Uhr. Marketinginhalte verfügen über einen Anti-Phishing-Mechanismus. Die Mindestanzahl an mobilen Nachrichten beträgt 20 Nachrichten (zyklische Anrufe). Für 1 Nachricht wird eine Gebühr von mindestens 70 Zeichen berechnet. Textnachrichten mit mehr als 70 Zeichen werden als lange Nachrichten betrachtet und für alle 67 Zeichen berechnet. Anforderungsschlüssel

  • tpl_value

    false
  • Vorlagenvariablen, die anhand von Variablen in der Vorlage ermittelt werden, können leer sein

Alle Codes

<?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;
}
Empfohlenes Lernen: „PHP. Video Anleitung"

Das obige ist der detaillierte Inhalt vonSo senden Sie Textnachrichten in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn