待發短信

在線客服
產品支持 短信寶客服
合作渠道 渠道合作
服務咨詢

4001-021-502

工作時間

9:00-18:00

如何請求訪問短信寶https短信接口

最近小編發現有些客戶反應使用短信寶接口http請求短信發送失敗,經過技術人員排查發現是因為客戶服務器的機房阻斷了http請求而導致的(特別是將服務器托管在國外的客戶)
解決這種問題一般有兩種方案
第一種您可以聯系您服務器所在機房工作人員打開http請求
第二種您可以使用短信寶https短信接口
首先檢測確認是否是機房線路阻斷http請求
如果您是windows服務器您可以用您的IE瀏覽器訪問下國內網站 例如:http://www.donews.com/如果不能訪問則表示是您服務器所在機房阻斷了http請求的原因。
如果您是linux服務器您可以使用命令 wget http://www.donews.com/來測試 如果顯示下載失敗則也是因為您服務器所在機房阻斷了http請求的原因

解決方案
1:找到您的發送類函數,將短信寶http接口替換成https

?
1
2
3
$smsapi = "http://api.smsbao.com/";
替換成
$smsapi = "https://api.smsbao.com/";

2:更改請求短信寶請求方式使用CURL請求

?
1
2
3
4
5
6
7
8
9
10
11
12
    $result =file_get_contents($sendurl);
替換成
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $sendurl);
    curl_setopt($ch, CURLOPT_TIMEOUT, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不驗證證書
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //不驗證證書
    $r = curl_exec($ch);
    curl_close($ch);

完整實例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$smsapi = "https://api.smsbao.com/";
$user = "***"//短信寶平臺帳號
$pass = md5("****"); //短信寶平臺密碼
$content="短信內容";//要發送的短信內容
$phone = "*****";//要發送短信的手機號碼
$sendurl = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($content);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $sendurl);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不驗證證書
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //不驗證證書
$result = curl_exec($ch);
curl_close($ch);
echo $result;

3:如有其它疑問,請咨詢短信寶客服。

 
開源插件
文章標簽
曾道人特码大公开