使用php结合移动飞信接口发送短信

2009-04-28 at 12:32 上午 kk

作用:通过飞信API发送短信到手机,进行日程提醒、服务器监控、报警、故障通知或短信自动控制。

好处:免费、方便、提高效率、偷懒。

使用接口:http://sms.api.bz/

API接口调用方式:http访问,支持GET和POST。

http://sms.api.bz/fetion.php?username=您的移动飞信登录手机号&password=您的移动飞信登录密码&sendto=接收短信的飞信好友手机号(也可以是你自己的手机号)&message=短信内容

其实只需要把这个地址的内容替换成自己的手机号和相关信息后,加入浏览器,就可以成功发送短信了。

注:短信内容最大长度为180个汉字,超过180个汉字不发送。返回的信息为UTF-8编码的中文文本信息。

为什么使用php来调用呢?

  1. 方便
  2. 可做一些程序判断,用来监测网站,服务器日志等。
  3. 有时也可以装装B的,呵呵:)

php调用方法一:在PHP5中通过file_get_contents函数发送短信(HTTP GET 方式)

代码如下:

  1. <?php   
  2. $url = "http://sms.api.bz/fetion.php?username=13812345678&password=123456&sendto=13512345678&message=短信内容";   
  3. $result = file_get_contents($url);   
  4. echo $result; //返回信息默认为UTF-8编码的汉字,如果你的页面编码为gb2312,请使用下行语句输出返回信息。   
  5. //echo iconv("UTF-8", "GBK", $result);   
  6. ?>

php调用方法二:在PHP中通过curl发送短信(HTTP POST 方式)

  1. <?php   
  2. $data["username"] = 13812345678;   
  3. $data["password"] = "password123";   
  4. $data["sendto"] = 13512345678;   
  5. $data["message"] = "这是一条测试短信!";   
  6.   
  7. $curl = new Curl_Class();   
  8. $result = @$curl->post("http://sms.api.bz/fetion.php", $data);   
  9. echo $result; //返回信息默认为UTF-8编码的汉字,如果你的页面编码为gb2312,请使用下行语句输出返回信息。   
  10. //echo iconv("UTF-8", "GBK", $result);   
  11.   
  12. //curl类   
  13. class Curl_Class   
  14. {   
  15.     function Curl_Class()   
  16.      {   
  17.         return true;   
  18.      }   
  19.   
  20.     function execute($method, $url, $fields = '', $userAgent = '', $httpHeaders = '', $username = '', $password = '')   
  21.      {   
  22.         $ch = Curl_Class::create();   
  23.         if (false === $ch)   
  24.          {   
  25.             return false;   
  26.          }   
  27.   
  28.         if (is_string($url) && strlen($url))   
  29.          {   
  30.             $ret = curl_setopt($ch, CURLOPT_URL, $url);   
  31.          }   
  32.         else  
  33.          {   
  34.             return false;   
  35.          }   
  36.         //是否显示头部信息   
  37.          curl_setopt($ch, CURLOPT_HEADER, false);   
  38.         //   
  39.          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);   
  40.   
  41.         if ($username != '')   
  42.          {   
  43.              curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);   
  44.          }   
  45.   
  46.         $method = strtolower($method);   
  47.         if ('post' == $method)   
  48.          {   
  49.              curl_setopt($ch, CURLOPT_POST, true);   
  50.             if (is_array($fields))   
  51.              {   
  52.                 $sets = array();   
  53.                 foreach ($fields AS $key => $val)   
  54.                  {   
  55.                     $sets[] = $key . '=' . urlencode($val);   
  56.                  }   
  57.                 $fields = implode('&',$sets);   
  58.              }   
  59.              curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);   
  60.          }   
  61.         else if ('put' == $method)   
  62.          {   
  63.              curl_setopt($ch, CURLOPT_PUT, true);   
  64.          }   
  65.   
  66.         //curl_setopt($ch, CURLOPT_PROGRESS, true);   
  67.         //curl_setopt($ch, CURLOPT_VERBOSE, true);   
  68.         //curl_setopt($ch, CURLOPT_MUTE, false);   
  69.          curl_setopt($ch, CURLOPT_TIMEOUT, 10);//设置curl超时秒数   
  70.   
  71.         if (strlen($userAgent))   
  72.          {   
  73.              curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);   
  74.          }   
  75.   
  76.         if (is_array($httpHeaders))   
  77.          {   
  78.              curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeaders);   
  79.          }   
  80.   
  81.         $ret = curl_exec($ch);   
  82.   
  83.         if (curl_errno($ch))   
  84.          {   
  85.              curl_close($ch);   
  86.             return array(curl_error($ch), curl_errno($ch));   
  87.          }   
  88.         else  
  89.          {   
  90.              curl_close($ch);   
  91.             if (!is_string($ret) || !strlen($ret))   
  92.              {   
  93.                 return false;   
  94.              }   
  95.             return $ret;   
  96.          }   
  97.      }   
  98.   
  99.     function post($url, $fields, $userAgent = '', $httpHeaders = '', $username = '', $password = '')   
  100.      {   
  101.         $ret = Curl_Class::execute('POST', $url, $fields, $userAgent, $httpHeaders, $username, $password);   
  102.         if (false === $ret)   
  103.          {   
  104.             return false;   
  105.          }   
  106.   
  107.         if (is_array($ret))   
  108.          {   
  109.             return false;   
  110.          }   
  111.         return $ret;   
  112.      }   
  113.   
  114.     function get($url, $userAgent = '', $httpHeaders = '', $username = '', $password = '')   
  115.      {   
  116.         $ret = Curl_Class::execute('GET', $url, '', $userAgent, $httpHeaders, $username, $password);   
  117.         if (false === $ret)   
  118.          {   
  119.             return false;   
  120.          }   
  121.   
  122.         if (is_array($ret))   
  123.          {   
  124.             return false;   
  125.          }   
  126.         return $ret;   
  127.      }   
  128.   
  129.     function create()   
  130.      {   
  131.         $ch = null;   
  132.         if (!function_exists('curl_init'))   
  133.          {   
  134.             return false;   
  135.          }   
  136.         $ch = curl_init();   
  137.         if (!is_resource($ch))   
  138.          {   
  139.             return false;   
  140.          }   
  141.         return $ch;   
  142.      }   
  143.   
  144. }   
  145. ?>
------------------------------------------------------------------------------------------
作者:
宽宽@网站策划运营
本站所有文章均为宽宽原创。
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

Leave a Reply