首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 飛信免費短信 API 開源實現(支援 GET/POST 群發)

     編輯:PHP 綜合知識

接口特性

  • 雙協議支援:標準 HTTP GET/POST 均可調用
  • 群發功能:多號碼以英文逗號分隔(如 159xxxxxxxx,134xxxxxxxx)
  • 輕量依賴:需 curl、simplexml 擴展
  • 開源部署:可下載源碼部署至自有伺服器,數據不經第三方

線上測試接口

# 完整參數版
https://api.heqee.com/fetion/?username=飛信手機號&password=飛信密碼&to=接收號碼&message=短信內容

# 簡短參數版
https://api.heqee.com/fetion/?u=飛信手機號&p=飛信密碼&t=接收號碼&m=短信內容

本地部署代碼示例

<?php
/**
 * 飛信短信發送本地調用示例
 * 需啟用 curl、simplexml 擴展
 */
require_once 'libs/fetion.class.php';

// 配置
$username = '15900000000';  // 飛信手機號
$password = 'your_password';

// 接收號碼(支援群發)
$sendto = '15900000000,13400000000';
$message = 'I am from heqee.com';

// 發送
$fetion = new fetion($username, $password);
$result = $fetion->send($sendto, $message);

if ($result) {
    echo 'ok';  // 返回布爾值
} else {
    echo '發送失敗,請檢查日誌';
}
?>

核心類實現邏輯(fetion.class.php 關鍵點)

class fetion {
    private $uid, $pwd, $smsUrl = 'https://feta.fetion.com.cn/...';

    public function __construct($uid, $pwd) {
        $this->uid = $uid;
        $this->pwd = $pwd;
    }

    public function send($to, $msg) {
        // 1. 登錄獲取 SSI 認證票據
        // 2. 組裝 XML 請求體(含接收號、內容、編碼)
        // 3. curl POST 到飛信網關
        // 4. 解析 XML 響應,判斷 0 為成功
        return $success;  // bool
    }
}

注意事項與避坑指南

問題說明對策
發送失敗返回 false飛信網關不穩定、帳號異常、內容敏感詞記錄詳細響應 XML,檢查錯誤碼;嘗試分批發送
群發部分送達單次請求號碼過多觸發限流建議單次 ≤ 50 號,間隔 1-2 秒循環發送
特殊字符導致 XML 解析錯誤短信內容含 < > & 等發送前 htmlspecialchars($msg, ENT_XML1) 轉義
編碼問題飛信網關要求 UTF-8,PHP 文件若為 GBK 需轉換$msg = iconv('GBK', 'UTF-8', $msg)

開源項目地址

完整源碼下載:jb51.net 代碼庫 #28628

商業化建議

飛信免費接口適合個人項目、內部通知、低頻驗證碼場景。商業系統建議:

  1. 接入三大運營商官方通道或正規短信服務商
  2. 建立發送隊列、重試機制、送達率監控
  3. 實現模板審核、簽名備案、黑名單過濾
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved