最近小編發(fā)現(xiàn)有些客戶反應(yīng)使用短信寶接口http請(qǐng)求短信發(fā)送失敗,經(jīng)過(guò)技術(shù)人員排查發(fā)現(xiàn)是因?yàn)榭蛻舴?wù)器的機(jī)房阻斷了http請(qǐng)求而導(dǎo)致的(特別是將服務(wù)器托管在國(guó)外的客戶)
解決這種問(wèn)題一般有兩種方案
第一種您可以聯(lián)系您服務(wù)器所在機(jī)房工作人員打開(kāi)http請(qǐng)求
第二種您可以使用短信寶https短信接口
首先檢測(cè)確認(rèn)是否是機(jī)房線路阻斷http請(qǐng)求
如果您是windows服務(wù)器您可以用您的IE瀏覽器訪問(wèn)下國(guó)內(nèi)網(wǎng)站 例如:http://www.donews.com/如果不能訪問(wèn)則表示是您服務(wù)器所在機(jī)房阻斷了http請(qǐng)求的原因。
如果您是linux服務(wù)器您可以使用命令 wget http://www.donews.com/來(lái)測(cè)試 如果顯示下載失敗則也是因?yàn)槟?wù)器所在機(jī)房阻斷了http請(qǐng)求的原因
解決方案
1:找到您的發(fā)送類函數(shù),將短信寶http接口替換成https
|
1
2
3
|
2:更改請(qǐng)求短信寶請(qǐng)求方式使用CURL請(qǐng)求
|
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); //不驗(yàn)證證書(shū) curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //不驗(yàn)證證書(shū) $r = curl_exec($ch); curl_close($ch); |
完整實(shí)例
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
$user = "***"; //短信寶平臺(tái)帳號(hào)$pass = md5("****"); //短信寶平臺(tái)密碼$content="短信內(nèi)容";//要發(fā)送的短信內(nèi)容$phone = "*****";//要發(fā)送短信的手機(jī)號(hào)碼$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); //不驗(yàn)證證書(shū)curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //不驗(yàn)證證書(shū)$result = curl_exec($ch);curl_close($ch);echo $result; |
3:如有其它疑問(wèn),請(qǐng)咨詢短信寶客服。
最新更新
電商類
CMS類
微信類