代码之家  ›  专栏  ›  技术社区  ›  Salman Riyaz

Yii2 sms网关-sms无法运行

  •  0
  • Salman Riyaz  · 技术社区  · 8 年前

    我有短信网关,这是用来发送短信的Yii2项目。 当我调用存储sms代码的特定操作时,sms不会运行。 如果我打印那个短信url,然后在浏览器中复制粘贴并点击它。。开始了。 我不知道Yii2出了什么问题 .

    下面是动作代码,curl代码在模型中

      public function actionMessage() {  
            /*sms code start*/ 
                    $model = new BillPersonal();
    
                    $mobile = "9703843454";
                    $authKey = "XXXXXXXXXXXXXX";
                    $senderId = "XXXXXX";
                    $textMessage = "Test Messsage"; 
    
                    $url = sprintf("http://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=".$authKey."&senderid=".$senderId."&channel=2&DCS=0&flashsms=0&number=91".$mobile."&text=".$textMessage."&route=11"); 
    
                    $curl_handle = curl_init();
                          curl_setopt($curl_handle, CURLOPT_URL, $url);
                          curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 5);
                          curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
                          curl_setopt($curl_handle, CURLOPT_USERAGENT, 'CHMS');
                          $query = curl_exec($curl_handle);
           }
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   Salman Riyaz    8 年前

    我终于找到了解决办法。。问题在于卷曲设置。希望这对别人有帮助。

    public function actionSms(){
    
                   $apikey = "XXXXXXXXXXXXXXXXXXX";
                   $apisender = "XXXXXXXXX";
                   $msg ="YOUR MESSAGE";
                   $num = "91XXXXXXXXXXXX";     
    
                   $ms = rawurlencode($msg);   
    
                $url = 'https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey='.$apikey.'&senderid='.$apisender.'&channel=2&DCS=0&flashsms=0&number='.$num.'&text='.$ms.'&route=1';
    
                 //echo $url;
                 $ch=curl_init($url);
                 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                 curl_setopt($ch,CURLOPT_POST,1);
                 curl_setopt($ch,CURLOPT_POSTFIELDS,"");
                 curl_setopt($ch, CURLOPT_RETURNTRANSFER,2);
                 $data = curl_exec($ch);
                 echo '<br/><br/>';
                 print($data); /* result of API call*/
          }