`
newchq
  • 浏览: 55028 次
  • 性别: 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开源版, 当然改成其它语言也没什么难度。

    免费发短信飞信API ASP.NET源码

    1. **飞信API**:飞信是中国移动推出的一种即时通讯服务,它允许用户通过互联网向中国移动、中国联通、中国电信的手机用户发送免费短信。这里的飞信API指的是飞信提供的对外接口,开发者可以利用这个接口在自己的...

    用飞信发送短信

    标题中的“用飞信发送短信”指的是利用中国移动的飞信服务来发送文本消息。飞信是中国移动推出的一款融合通信服务,允许用户通过网络或者短信方式免费向中国移动手机号码发送短信,同时也支持与其他飞信用户进行即时...

    PHP实例开发源码—Fetion飞信好友免费短信API接口PHP开源版 支持群发.zip

    【标题】"PHP实例开发源码—Fetion飞信好友免费短信API接口PHP开源版 支持群发.zip" 提供的是一个基于PHP的飞信API接口实现,用于发送免费短信给飞信好友,同时也支持群发功能。这个开源项目可以帮助开发者在自己的...

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

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

    feixin.rar_Webfeixin delphi_api web delphi_sms_web feixin_飞信 接口

    通过飞信API,开发者可以实现自动化的短信发送,这对于需要批量发送通知或者验证码的业务场景非常有用。 `web_feixin`可能是指Web版本的飞信服务,即通过网页浏览器访问的飞信平台。开发Web Feixin的API接口意味着...

    php版 飞信API接口 可做dede短信通知插件

    当有非法登录尝试时,不仅能在后台记录,还能通过飞信API接口即时将警报信息以短信形式发送给网站管理员,以便他们能够及时采取应对措施,保护网站安全。 在实际应用中,开发者需要注意以下几个要点: - **API密钥...

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

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

    飞信代理发送短信给客户

    总结来说,"飞信代理发送短信给客户"是一项利用飞信API,结合C#和ASP.NET技术,实现企业级自动化短信发送的功能。这个过程中,涉及到了API接口的接入、HTTP请求的构建、数据的序列化与反序列化,以及错误处理和性能...

    3个可用的飞信接口,通过PHP直接发送飞信短信.rar

    在Web开发中,有时需要集成这样的功能,例如通过PHP来发送飞信短信。这个压缩包包含了三个可用的飞信接口,用于帮助开发者实现这个功能。 1. **飞信接口的基本概念**: 飞信接口是飞信服务对外提供的API,允许外部...

    网页免费发短信(飞信网页发送代码)

    总的来说,利用飞信的网页API发送免费短信涉及到网络编程、API调用和身份验证等多个方面,是一个很好的学习和实践Web开发技能的机会。通过深入研究提供的PHP代码,开发者可以更好地理解这一过程,并将其应用于自己的...

    移动飞信发送短信接口

    移动飞信发送短信接口是一种专为开发者设计的API,它允许程序员通过ActiveX技术在不同的应用程序中集成飞信的功能,尤其是发送短信的能力。ActiveX是一种由微软开发的技术,主要用于构建和共享基于Web的应用程序,...

    asp通过飞信免费发短信

    通过以上步骤,你可以在ASP中集成飞信API,实现免费向中国移动用户发送短信的功能。但请注意,这种服务可能会受到一定的限制,比如每日发送条数、频率等,具体取决于飞信的政策和服务等级。此外,随着技术的发展,...

    飞信PHP发短信接口

    飞信是中国移动推出的一款即时通讯应用,允许用户通过网络免费或低成本发送短信、语音消息,甚至进行群聊。在PHP中实现飞信接口,可以方便地将网站、Web应用或其他基于PHP的服务与飞信服务集成,为用户提供短信通知...

    可整合在任何网站的飞信插件,可向你的网站会员或者客户任意免费发送免费短信

    飞信是一种通信服务,允许用户通过网络发送短信,而这个插件能够让网站管理员利用飞信的服务,向其网站的会员或客户发送免费短信。 描述部分进一步强调了这个插件的核心功能,即它能够无限制地免费发送短信。这对于...

    飞信SMS2短信发送平台--PHP版(完整代码)

    飞信SMS2短信发送平台是基于PHP开发的一款网络版短信发送系统,...通过研究这个项目,不仅可以掌握PHP编程和飞信API的使用,还能了解到Web应用的整体架构和开发流程,对于提升个人技能和理解实际项目开发具有很大帮助。

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

    总结起来,通过飞信API和PHP类库实现Web端免费发送短信是一种实用的方法,尤其适用于个人项目或小型应用。然而,对于企业级应用,可能需要考虑使用更专业、性能更稳定的短信服务平台,以确保信息传递的效率和可靠性...

    最新php飞信可用api类

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

    asp.net利用飞信短信接口免费发送信息源码

    飞信短信接口提供了一个免费的解决方案,开发者可以通过调用其API来实现短信的发送。本文将深入探讨如何在ASP.NET项目中利用飞信短信接口实现这一功能。 首先,我们需要了解飞信短信接口的基本概念。飞信是中国移动...

    asp 通过飞信免费发短信

    虽然这段代码提供了一个基本的框架来实现ASP通过飞信发送短信的功能,但在实际应用中还需注意以下几点: - **安全性考虑**:明文存储飞信账号和密码存在安全隐患,应采用更安全的方式管理敏感信息,如使用环境变量...

Global site tag (gtag.js) - Google Analytics