`
longgangbai
  • 浏览: 7331576 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

[文章作者:张宴 本文版本:v1.0 最后修改:2009.03.22 转载请注明原文链接:http://blog.s135.com/fetion_api/]

  飞信是由中国移动通信集团公司推出的一款集商务应用和娱乐功能为一体的,基于手机应用以及与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加密接口,采用 EssentialSSL CA 颁发的可信任SSL证书)



  飞信免费发短信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. ?>  
分享到:
评论
5 楼 longgangbai 2011-09-06  
kongzhizhen 写道
$url = "http://sms.api.bz/fetion.php?username=13812345678&password=123456&sendto=13512345678&message=短信内容";


这个地址不会泄漏你的密码吗?




这种方式这是玩玩而已,只限于测试而已
4 楼 longgangbai 2011-09-06  
kyohaha 写道
第三方的危险啊,万一帮你订sp怎么办!!!


其实有一种方式就是采用飞信的DLL文件调用飞信的接口实现这种功能,最好,不要采用这样方式,麻烦费事.
3 楼 longgangbai 2011-09-06  
kyohaha 写道
第三方的危险啊,万一帮你订sp怎么办!!!



此种方式,一般在都会采用HTTPClient这个apache组件封装的,怎么可能直接写到页面上呢?我也只不过是一个demo而已.
2 楼 kyohaha 2011-09-06  
第三方的危险啊,万一帮你订sp怎么办!!!
1 楼 kongzhizhen 2010-10-23  
$url = "http://sms.api.bz/fetion.php?username=13812345678&password=123456&sendto=13512345678&message=短信内容";


这个地址不会泄漏你的密码吗?

相关推荐

    飞信PHP发短信接口

    5. **短信发送**:实际的短信发送功能涉及调用飞信提供的API接口,传递接收方手机号、短信内容等参数。这可能需要预先配置好短信模板,以符合运营商的要求。 6. **批量发送**:如果需要一次性向多个手机号发送短信...

    java飞信接口,FetionApi,可自己通过程序发送免费短信

    里面一个完整的发短信eclipse工程,直接导入就可以了~~~ 飞信的API在lib里面fetion-java-api.jar~~ 还说明一点,飞信大家都知道,免费的前提是自己开通飞信并且只能发送给飞信好友,所以别抱怨说还要密码什么的! ...

    利用飞信免费发短信的源代码,php版

    在这个"利用飞信免费发短信的源代码"中,关键知识点包括: 1. **飞信API接口**:飞信提供了API接口,允许开发者通过程序方式与其服务进行交互。这些接口可能包括登录验证、发送短信、接收短信等操作。开发者需要...

    C#.NET利用飞信接口免费发短信

    标题 "C#.NET利用飞信接口免费发短信" 涉及的是在.NET环境中使用C#编程语言,通过飞信(Fetion)提供的API接口实现短信的自动发送功能。飞信是中国移动推出的一种即时通讯服务,允许用户通过网络免费或低价发送短信...

    飞信接口PHP版 (免费发短信)

    这个压缩包文件“飞信接口PHP版 (免费发短信)”可能包含了实现上述功能的PHP源代码、示例文件、配置文件等资源,使用者可以参照其中的示例快速上手。在开发过程中,还需要根据自己的需求进行适当的修改和优化,以...

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

    【标题】"免费发短信飞信API ASP.NET源码"涉及的核心知识点主要集中在以下几个方面: 1. **飞信API**:飞信是中国移动推出的一种即时通讯服务,它允许用户通过互联网向中国移动、中国联通、中国电信的手机用户发送...

    PHP用飞信接口免费发短信源码 1.0.rar

    标题 "PHP用飞信接口免费发短信源码 1.0.rar" 提供的信息表明,这是一个使用PHP编程语言实现的程序,它利用了飞信(Fetion)的开放接口来发送免费短信。飞信是中国移动推出的一款即时通讯服务,允许用户通过网络免费...

    asp通过飞信免费发短信

    2. **分析API文档**:查阅飞信的官方API文档,了解发送短信的具体接口、请求格式、参数要求等信息。通常,这会涉及到HTTP请求方法(如POST或GET)、URL、请求头和请求体中的数据。 3. **构建HTTP请求**:在ASP页面...

    易语言利用中国移动飞信API免费发短信程序源码

    在本项目中,我们探讨的是如何使用易语言来编写一个利用中国移动飞信API的程序,实现免费发送短信的功能,这对于监控报警提示等应用场景非常实用。 首先,了解中国移动飞信API是关键。飞信是中国移动推出的一款即时...

    ASP小程序通过飞信免费发短信

    这个标题"ASP小程序通过飞信免费发短信"表明我们要讨论的是如何利用ASP技术结合飞信服务,实现一个能够免费发送短信的应用程序。飞信是中国移动推出的一种即时通讯服务,用户可以通过飞信向手机或飞信客户端发送短信...

    网页免费发短信

    总结来说,"网页免费发短信"的核心是利用飞信提供的API接口,结合自身的业务需求,构建出可以收发短信、管理联系人等功能的应用。这不仅能够降低通信成本,还能提升服务的互动性和及时性,广泛适用于各种自动化监控...

    PB调用飞信免费发短信程序

    【描述】"PowerBuilder调用飞信免费发短信程序"意味着开发者利用PowerBuilder的脚本语言或API接口与飞信客户端(如fetion.exe)进行交互,实现从PB应用中发送短信的功能。这一过程可能涉及到以下步骤: 1. **接口...

    利用飞信免费发短信代码演示

    在本示例中,我们将探讨如何利用飞信的API或接口实现代码发送短信的功能。由于具体的代码实现并未在提供的文件名“demo”中直接展示,我们将基于常见的编程实践来解释这个过程。 一、飞信API基础 飞信API提供了与...

    PHP用飞信接口免费发短信源码.7z

    【PHP用飞信接口免费发短信源码】 在IT领域,PHP是一种广泛使用的服务器端脚本语言,尤其在Web开发中占据重要地位。本话题主要围绕如何使用PHP结合飞信接口实现免费发送短信的功能,这对于一些小型项目或者个人...

    asp 通过飞信免费发短信

    ### ASP通过飞信免费发送短信:深入解析与实践 在早期的互联网时代,飞信作为中国移动推出的一款即时通讯软件,不仅提供了文字聊天、语音通话等基础功能,还创新性地支持了免费短信服务,即用户可以通过飞信向任何...

    java利用飞信API发送短信

    首先,你需要获取飞信的API接口文档,这通常包括接口URL、请求方法(如GET、POST)、所需参数等信息。飞信API可能要求开发者注册并获取API密钥,以便进行身份验证和防止滥用。 1. **设置API请求**:在Java中,我们...

    php 利用飞信接口发送短信

    本教程将详细讲解如何使用PHP语言结合飞信接口实现免费发送短信的功能。 首先,飞信是中国移动提供的一项服务,允许用户通过网络免费向中国移动手机用户发送短信。在PHP中利用飞信接口发送短信,我们需要了解飞信...

    java飞信接口,FetionApi(无license限制,附可运行例子,简单文档说明,eclipse项目)

    fetion.sendSms(cc.getUri(), cc.getNickName() + "小乌龟对龟妈妈说:\"妈妈,有人给我发恶意短信了我回不回?\" 龟妈妈说?\"别上当啊,孩子!猪才回呢,是乌龟就不回\""); } System.out.println("☆login ...

    飞信SMS免费发手机短信

    如果飞信SMS服务不再适用或无法满足需求,还可以考虑其他短信API提供商,如阿里云、腾讯云等,它们提供了更丰富的功能和更稳定的API服务。 总结来说,通过利用飞信SMS的API接口,开发者可以集成免费发送手机短信的...

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

    在本主题中,我们将深入探讨如何利用网页API实现飞信的免费短信发送功能,主要关注的是编程实现的细节。 首先,理解网页API是关键。API,全称Application Programming Interface,是软件之间交互的一种方式。网页...

Global site tag (gtag.js) - Google Analytics