- 浏览: 177018 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
得牛哄哄:
楼主,我想问题下,我服务器已经搭建好了,验证可以服务器登陆成功 ...
CAS SSO 例子 笔记 (原创-梁健) -
得牛哄哄:
为什么下不了?
CAS SSO 例子 笔记 (原创-梁健) -
aa00aa00:
这个我已经配置成功了,看的视频,挺好的,其实用CAS确实挺方便 ...
CAS SSO 例子 笔记 (原创-梁健) -
ningguiixn:
单例写的不对哦亲
Singleton 单例模式很多种写法 -
liangjian103:
hesy_007 写道Nginx for windows在生产 ...
Nginx负载均衡Tomcat简单配置
[文章作者:张宴 本文版本:v1.1 最后修改:2010.08.03 转载请注明原文链接:http://blog.s135.com/fetion_api/
]
备注:2010年7月底移动飞信修改协议,造成影响的 sms.api.bz 免费发送短信API接口,已于2010年8月3日19:00恢复正常。
飞信
是由中国移动通信集团公司推出的一款集商务应用和娱乐功能为一体的,基于手机应用以及与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):
注:短信内容最大长度为180个汉字,超过180个汉字不发送。返回的信息为UTF-8编码的中文文本信息。
2009年5月28日新增:
飞信免费发短信API接口调用方式(通过HTTPS加密隧道访问以下网址、支持GET和POST,进一步保证您的密码安全):
注:短信内容最大长度为180个汉字,超过180个汉字不发送。返回的信息为UTF-8编码的中文文本信息。
例1:在Linux命令行下通过curl命令给自己的手机号(假设为13800138000)发送短信(HTTP GET 方式)
例2:在PHP5中通过file_get_contents函数发送短信(HTTP GET 方式)
- <?php
- $url = "http://sms.api.bz/fetion.php?username=13812345678&password=123456&sendto=13512345678&message=短信内容" ;
- $result = file_get_contents ( $url );
- echo $result ; //返回信息默认为UTF-8编码的汉字,如果你的页面编码为gb2312,请使用下行语句输出返回信息。
- //echo iconv("UTF-8", "GBK", $result);
- ?>
例3:在PHP中通过curl发送短信(HTTP POST 方式)
- <?php
- $data [ "username" ] = 13812345678;
- $data [ "password" ] = "password123" ;
- $data [ "sendto" ] = 13512345678;
- $data [ "message" ] = "这是一条测试短信!" ;
- $curl = new Curl_Class();
- $result = @ $curl ->post( "http://sms.api.bz/fetion.php" , $data );
- echo $result ; //返回信息默认为UTF-8编码的汉字,如果你的页面编码为gb2312,请使用下行语句输出返回信息。
- //echo iconv("UTF-8", "GBK", $result);
- //curl类
- class Curl_Class
- {
- function Curl_Class()
- {
- return true;
- }
- function execute( $method , $url , $fields = '' , $userAgent = '' , $httpHeaders = '' , $username = '' , $password = '' )
- {
- $ch = Curl_Class::create();
- if (false === $ch )
- {
- return false;
- }
- if ( is_string ( $url ) && strlen ( $url ))
- {
- $ret = curl_setopt( $ch , CURLOPT_URL, $url );
- }
- else
- {
- return false;
- }
- //是否显示头部信息
- curl_setopt($ch , CURLOPT_HEADER, false);
- //
- curl_setopt($ch , CURLOPT_RETURNTRANSFER, true);
- if ( $username != '' )
- {
- curl_setopt($ch , CURLOPT_USERPWD, $username . ':' . $password );
- }
- $method = strtolower ( $method );
- if ( 'post' == $method )
- {
- curl_setopt($ch , CURLOPT_POST, true);
- if ( is_array ( $fields ))
- {
- $sets = array ();
- foreach ( $fields AS $key => $val )
- {
- $sets [] = $key . '=' . urlencode( $val );
- }
- $fields = implode( '&' , $sets );
- }
- curl_setopt($ch , CURLOPT_POSTFIELDS, $fields );
- }
- else if ( 'put' == $method )
- {
- curl_setopt($ch , CURLOPT_PUT, true);
- }
- //curl_setopt($ch, CURLOPT_PROGRESS, true);
- //curl_setopt($ch, CURLOPT_VERBOSE, true);
- //curl_setopt($ch, CURLOPT_MUTE, false);
- curl_setopt($ch , CURLOPT_TIMEOUT, 10); //设置curl超时秒数
- if ( strlen ( $userAgent ))
- {
- curl_setopt($ch , CURLOPT_USERAGENT, $userAgent );
- }
- if ( is_array ( $httpHeaders ))
- {
- curl_setopt($ch , CURLOPT_HTTPHEADER, $httpHeaders );
- }
- $ret = curl_exec( $ch );
- if (curl_errno( $ch ))
- {
- curl_close($ch );
- return array (curl_error( $ch ), curl_errno( $ch ));
- }
- else
- {
- curl_close($ch );
- if (! is_string ( $ret ) || ! strlen ( $ret ))
- {
- return false;
- }
- return $ret ;
- }
- }
- function post( $url , $fields , $userAgent = '' , $httpHeaders = '' , $username = '' , $password = '' )
- {
- $ret = Curl_Class::execute( 'POST' , $url , $fields , $userAgent , $httpHeaders , $username , $password );
- if (false === $ret )
- {
- return false;
- }
- if ( is_array ( $ret ))
- {
- return false;
- }
- return $ret ;
- }
- function get( $url , $userAgent = '' , $httpHeaders = '' , $username = '' , $password = '' )
- {
- $ret = Curl_Class::execute( 'GET' , $url , '' , $userAgent , $httpHeaders , $username , $password );
- if (false === $ret )
- {
- return false;
- }
- if ( is_array ( $ret ))
- {
- return false;
- }
- return $ret ;
- }
- function create()
- {
- $ch = null;
- if (!function_exists( 'curl_init' ))
- {
- return false;
- }
- $ch = curl_init();
- if (! is_resource ( $ch ))
- {
- return false;
- }
- return $ch ;
- }
- }
- ?>
备注: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。
发表评论
-
Singleton 单例模式很多种写法
2012-09-13 11:42 1212以前我就知道单例模式的两种写法,如今经发现那两种是 ... -
cookies的详细使用说明
2012-09-07 21:14 1284一.什么是cookies? 大家都知道,浏览器与WEB ... -
java5线程框架Executor 排程定时功能
2012-09-06 10:56 10291,带有排程功能的例子 ... -
hessian教程
2012-09-01 12:29 1699转载 http://www.buildapp.net/java ... -
Nginx负载均衡Tomcat简单配置
2012-08-02 15:30 1471很久没练习负载均衡的配置了,真的被遗忘了。生活的环境总在 ... -
Sitemesh例子分享
2012-04-12 14:51 2483sitemesh是表现层的技术,它将公用的部分抽出来了,就不用 ... -
导出excel 的问题 防止自动转科学计数法格式
2011-11-15 13:37 2646关于eXtremeComponents 导出excel 的问题 ... -
JAVA System.getProperty()参数大全
2011-10-08 13:00 1168JAVA System.getProperty()参数大全 ... -
Java通过XML Schema校验XML
2011-10-08 10:37 1177Java通过XML Schema校验XML XML的校 ... -
C语言中拆分人民币面值的题
2011-09-17 16:16 1502目前人民币共有以下几种面值(不包括角和分):1,2,5,10, ... -
用FindBugs分析代码漏洞
2011-08-31 09:00 1654hyddd原创,转载请说明! FindBugs是 ... -
表格一对多,动态显示
2011-08-18 09:56 1129今天一大早就看到一个朋友向我求助,如何实现那样一种显示方式,我 ... -
Java Map遍历的各种方法
2011-08-18 09:44 1107//最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很 ... -
Apache与Tomcat的安装和桥接
2011-08-05 18:03 11451、首先安装Apache:./co ... -
Quartz 定时任务web使用
2011-08-05 17:58 1535首先创建一个Web项目,将quartz-1.6.0.jar,以 ... -
Hadoop学习笔记一
2011-07-29 16:07 973这里先大致介绍一下Hadoop. 本文大部分内容 ... -
CAS SSO 例子 笔记 (原创-梁健)
2011-07-20 17:32 8252先说写心情一下: 去年在第一家公司做的那个项目使用是 ... -
ant命令总结
2011-07-08 11:18 9261 Ant是什么? Apache Ant 是一个基于 Ja ... -
Java二维数组实现简单Map
2011-06-22 17:49 4767这些天频繁的在使用二维数组,让我觉得二维数组要比Map更灵活多 ... -
抓取防爬虫的网站信息(梁健-原创)
2011-06-21 11:11 1924有的网站限制网络爬虫的抓取,例如javaeye。会出现 ...
相关推荐
描述中提到的 "接口用的是open fetion",这可能是指开发者使用了开源的飞信API库或者第三方服务来与飞信系统进行交互。Open Fetion通常指的是一个允许开发者通过编程方式调用飞信功能的开源项目。这样的接口可能包括...
在本案例中,"Open Fetion"是一个第三方开发的飞信接口库,使得开发者能够利用PHP进行调用。 首先,理解飞信接口的工作原理是至关重要的。通常,飞信API提供了登录、发送短信、接收短信等基本功能。开发者需要注册...
飞信,全称中国移动飞信,是中国移动推出的一款融合通信服务,允许用户通过网络免费向中国移动、中国联通、中国电信的手机和固话发送短信。在本文中,我们将深入探讨如何使用Java来实现这个功能。 首先,你需要获取...
【描述】"PowerBuilder调用飞信免费发短信程序"意味着开发者利用PowerBuilder的脚本语言或API接口与飞信客户端(如fetion.exe)进行交互,实现从PB应用中发送短信的功能。这一过程可能涉及到以下步骤: 1. **接口...
飞信,全称为中国移动飞信,是中国移动推出的一款即时通讯软件,允许用户通过网络免费向中国移动、中国联通、中国电信的手机用户发送短信,同时支持语音聊天、群聊等多种通信方式。在Java开发环境中,通过飞信API,...
在开发过程中,为了方便第三方应用集成飞信的功能,中国移动提供了飞信SDK(Software Development Kit),其中包含了用于发送短信的相关DLL(动态链接库)文件。在本案例中,我们重点关注的是"Fetion SDK.dll"。 ...
飞信是中国移动推出的一款即时通讯软件,支持跨平台通信,并且可以通过互联网向中国移动手机号码发送免费短信。本示例中的代码主要依赖于一个名为`Fetion`的第三方库来实现飞信消息的发送功能。 #### 二、准备工作 ...
飞信是中国移动推出的一种即时通讯服务,允许用户通过网络或短信进行免费通信。这个Demo主要是为了展示如何在C#应用程序中集成和使用Fetion SDK来实现发送短信的功能。 首先,我们需要了解Fetion SDK的核心功能。...
由于飞信目前没有开发平台,现有API都是第三方开发,貌似是通过破解WAP飞信或者3G飞信,模拟浏览器的行为来发短信。另外Google code上有开源的php飞信发送类php-fetion。这些飞信接口方便了定时短信的开发。 背景:...
飞信,作为中国移动推出的一种即时通讯服务,允许用户通过网络免费发送短信和进行语音聊天。在电子商务场景中,飞信测试工具插件可能被用来增强ShopEX的客户沟通能力,比如自动发送订单确认、发货通知或者促销信息等...