`
newchq
  • 浏览: 53435 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

飞信的api开发,通过web给飞信好友发送短信

阅读更多

备注:2009年12月9日移动飞信升级造成影响的 sms.api.bz 免费发送短信API接口,已于12月14日恢复正常。

  飞信是由中国移动通信集团公司推出的一款集商务应用和娱乐功能为一体的,基于手机应用以及与Internet深度互通的即时通讯产品,可免费给好友发送短信。

  1、下载中国移动飞信PC客户端软件(http://www.fetion.com.cn/downloads/pc.aspx),并注册开通飞信。注册成为飞信用户,下载飞信PC客户端、使用PC客户端基本功能,不收取费用。
  2、通过PC客户端,邀请并添加免费短信接收方的手机号码(仅限中国移动)到您的飞信好友,该手机号需要通过通过PC客户端、或回复短信接受您的邀请;
  3、通过 http://sms.api.bz/ 提供的 API 接口,即可免费给飞信好友或给你自己的手机发短信。利用本API接口可进行日程提醒、服务器监控、报警、故障通知或短信自动控制等功能。



  飞信免费发短信API接口在线演示页面:

  http://sms.api.bz/

  https://sms.api.bz/ (HTTPS加密接口)



  飞信免费发短信API接口调用方式(通过HTTP访问以下网址、支持GET和POST):

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


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



  2009年5月28日新增:飞信免费发短信API接口调用方式(通过HTTPS加密隧道访问以下网址、支持GET和POST,进一步保证您的密码安全):

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


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

  点击在新窗口中浏览此图片



  例1:在Linux命令行下通过curl命令给自己的手机号(假设为13800138000)发送短信(HTTP GET 方式)

curl "http://sms.api.bz/fetion.php?username=13800138000&password=123456&sendto=13800138000&message=短信内容"



  例2:在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. ?>  


  例3:在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. ?>  


  备注:9日移动飞信升级造成影响的 sms.api.bz 免费发送短信API接口,已于2009年12月14日恢复正常。
  2009年12月9日中国移动飞信服务器升级,变更了登录地址和部分协议。升级后的协议无法直接给接收方手机号(tel)发送短信,只能给飞信号(sip uri)、自己的手机号发送短信。本人通过重新抓包,对飞信协议进行分析,修改了sms.api.bz接口代码,通过将接收方手机号(tel)转换为user-id,再通过user-id转换为飞信号(sip uri),进行短信发送,一切OK。

分享到:
评论

相关推荐

    飞信webapi短信发送php版

    飞信webapi短信发送php开源版, 当然改成其它语言也没什么难度。

    飞信短信发送的PHP类(PHP版飞信)

    飞信发送API网上有很多,但没有多少是我自己满意的。很多网站提供基于Web的API调用方式向用户提供服务,但是作为使用者我心里还是没底。我总是担心自己的密码会被某些人记录,一直想写一个自己用的PHP版本飞信发送...

    基于命令行的飞信短信发送程序

    本程序仅能向飞信好友和飞信用户自己发送短信,且长短信不分条,故使用本程序前请首先保证短信接收人是自己或是自己的飞信好友! 使用本程序会造成用户“已登录”状态的飞信客户端注销,故使用本程序后,用户可能...

    最新php飞信可用api类

    1.利用飞信官方web接口,永不过期 2.源码开源.不存在安全问题 3.支持给自己发[参数to不添或为空] 4.支持发送至手机号,或者飞信号 不过还是存在缺点 1.环境要求必须支持php curl 2.由于网速的问题发送至手机和飞信号不...

    WP7飞信API接口DLL

    这是一个牛人的写的WEB飞信API接口,只需调用即可使用,但是WP7版本必须是7.1以上才可使用,里边有不同的方法可以调用,软件效果和普通飞信效果一样,本人已测试可用

    php飞信发送类 v1.2.zip

    php飞信发送类实现在wap和web网站上发送飞信短信,实现与wap飞信API通信等操作。 更新说明: 5月31日更新概况: 使用Socket请求来取代curl、不再使用Cookie文件;

    feixin.rar_Webfeixin delphi_api web delphi_sms_web feixin_飞信 接口

    一个飞信程序,使用的一网上提供的api接口。可以实现发送信息。这是个小例子,你可以改成你想要的功能强大的飞信程序.

    php飞信发送类 v1.2.rar

    php飞信发送类实现在wap和web网站上发送飞信短信,实现与wap飞信API通信等操作。 更新说明: 5月31**更新概况: 使用Socket请求来取代curl、不再使用Cookie文件;

    web免费发送短信到指定的手机的代码【接口,源代码】

    利用飞信开放的API,网络上有大牛写了php发送飞信的类库。这种方法前提是你自己得申请一个飞信号,记好自己飞信的密码,然后直接php调用php发飞信信息的类,就完成了!非常方便,但缺点是速度比较慢

    Java 免费给手机发飞信

    把------之间的内容保存为文件license(无后缀,注意不要使文件首尾有空行或者空格出现),放在你程序的当前目录下 ,eclipse项目默认为项目根目录下(src目录的上层目录),web项目放到tomcat的bin目录下就OK了。

    php飞信 pafetion 开源

    非常适合做web api 通信的说明参见这篇文档 * 注意 : 请不要将此脚本用于商业用途.如果有需要,请联系移动公司 * 此脚本完全是模拟了一个浏览器让用户自主操作,不存在破解或重打包客户端等行为。 * 此脚本以学习...

    EasyTalk开源微博系统 X2.5.zip

    EasyTalk是国内首款多用户PHP Mysql开源微博客系统,支持网页、手机Wap、手机短信、QQ、Gtalk、飞信等多种方式发表或接收信息,EasyTalk全面符合国人的上网习惯,真正轻量级架构,使得使用者上手容易,管理者安装...

Global site tag (gtag.js) - Google Analytics