飞信api操作指南

package com.test;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.UUID;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.json.JSONArray;
import org.json.JSONObject;

/**
 *@author email: yaoxinghuo at 126 dot com
 *@version create: Aug 5, 2009 11:17:23 AM
 *@version update: Oct 28, 2009 00:11:00 AM
 *@description 飞信API(fetionlib) HTTP简单调用举例 另有Restlet的方式可供调用。网页版飞信首页: http://fetionlib.appspot.com/ http://fetion.xinghuo.org.ru/
 *               小提示:免费开通飞信:如果您的手机号没有开通飞信,可以到中国移动飞信网站查看开通,或者直接编辑短信KTFX发送到10086开通
 *               修改飞信密码:手机编辑新密码(6到16位,不能是中文或全角字符)内容发送到12520050
 *
 *               2009.11.23更新:已增加简易版飞信界面,可以使用iframe嵌套或者直接使用提供的HTML代码粘贴到您的网页,详情点击http://fetion.xinghuo.org.ru/simple_fetion.html
 *
 *               直接在浏览器里输入以下地址(您的手机号码和密码请自行更改,密码不要包含/,朋友号码请填写自己的手机号码):
 *               http://fetionlib.appspot.com/restlet/fetion/13812345678/password/13912345678/message
 *              或 http://fetion.xinghuo.org.ru/restlet/fetion/13812345678/password/13912345678/message
 *               以上四个用/隔开的加粗的地方,应该分别替换成:您的手机号、密码、对方uri、短信内容(不超过180字),
 *               注意:对方uri可以写自己的手机号发给自己,最好不要使用对方手机号而使用uri,用下面介绍的获取好友来获取,移动已不提供支持手机号发送,不容易发送成功!
 *               如果是密码错误,没有开通飞信,对方不是您好友等原因不能发送都是返回提示Message Not Sent,只有成功返回OK
 *               如果要发送中文,最好用URLEncode(UTF-8编码,如“你好”Encode后为%E4%BD%A0%E5%A5%BD)或后面举的例子(POST方式,注意调用的URL略有不同)
 *               如果您可以收到自己发给自己的短信,恭喜您,测试通过,你可以用您熟悉的语言通过POST或GET调用,调用方式请看下面Java例子,其他语言类似
 *               注意,如果您使用Eclipse等IDE,最好文本源代码编码为UTF-8,否则可能得到中文信息产生乱码。
 *              如有疑问或对API的接口调用方式有任何更好的建议,欢迎到 首页 留言
 * 
 *               本飞信API包括的所有功能为:1)获取好友列表 2)发送即时短信 3)发送定时短信 4)删除定时短信 5)邀请添加好友 6)测试能否登录 7)取得好友回复消息 
 *               调用方式支持GET和POST,POST方式还支持群发(8个或8个以下好友)和定时群发(定时群发最多30个好友),请看下面例子
 * 
 *               近期发现有人利用本程序给他人发送轰炸短信,给他人造成严重骚扰,同时也大量消耗本站资源,已作如下限制:
 *               同一个手机号给同一个好友的发短信API以及其他的API(如:添加好友、获取好友列表等)请求间隔为30秒,30秒内的类似请求将无法完成。
 *               注:考虑到实际需要,给自己发送短信(手机号和对方好友号码相同或者群发好友里面包含自己手机号)的API请求将不会有30秒时间间隔的限制!
 * 
 *               重要提示:近期所有appspot有一个IP被封锁,请先前使用API的用户,把调用地址中http://fetionlib.appspot.com改成http://fetion.xinghuo.org.ru
 * 
 *               本飞信API接口程序由Google强力驱动、免费托管,将长期保留,示例程序用到的json包,请到www.json.org下载jar包,也可到这里下载
 */
public class Test {
    private static Log log = LogFactory.getLog(Test.class);

    public static void main(String[] args) {
        //测试发短信,注意:相同手机号,相同好友的请求的调用间隔要超过30秒(除非好友中包含你自己的手机号),否则不成功(responseCode:406)
        boolean b = fetchToSendSMS("13812345678", "12345678", new String[] { "13812345678" }, "TestMessage");
        System.out.println("Send Message result:" + b);

        //测试取得好友列表
        // JSONArray friends = fetchToGetFriends("13812345678", "12345678");
        // System.out.println("friends:\r\n"+ (friends == null ? "null" : friends.toString()));

        //测试添加好友
        // int result = fetchToAddFriend("13812345678", "12345678","13812345678","自己姓名", "对方姓名");
        // System.out.println("Add Friend result:"+result);

        //测试发送定时短信 (注意是太平洋时间,所以2009-10-09 01:00 是北京时间09:00发奥)
        // String sid = fetchToSendScheduleMsg("13812345678", "12345678", new String[]{"13912345678"}, "TestScheduleMessage", "2009-10-09 01:00");
        // System.out.println("sid:"+sid);

        //测试删除定时短信
        // boolean b2 = fetchToDeleteScheduleMsg("13812345678", "12345678", new String[]{"aglmZXRpb25saWJyGgsSB0FjY291bnQYAQwLEgdNZXNzYWdlGCQM")};
        // System.out.println("schedule message delete result:"+b2);

        //测试能否登录(以测试密码是否正确)
        // boolean b3 = fetchToLoginTest("13812345678", "12345678"};
        // System.out.println("login test result:"+b3);

        //测试取得好友回复消息
        // JSONArray messages = fetchToCheckMessages("13812345678", "12345678");
        // System.out.println("messages:\r\n"+ (messages == null ? "null" : messages.toString()));

    }

    private static final int TRY_TIMES = 3;
    private static final int TIME_OUT = 30000;
    private static final String BASE_URL = "http://fetionlib.appspot.com"; //BASE_URL 目前用http://fetion.xinghuo.org.ru 比较稳定

    /**
     *发送短消息 更简单的Get方式(中文请先URLEncode,不支持群发,如要群发用下面POST方式,已更新),直接在浏览器里输入以下地址,手机号码和密码请自行改掉:
     *  http://fetion.xinghuo.org.ru/restlet/fetion/13812345678/password/13912345678/message  成功返回OK
     * 否则返回Message Not Sent,如果要群发或者您的密码包含/或者需要提交中文消息避免可能的乱码最好请用以下的程序(POST方式)
     *@param friends
     *            短信接收方的好友们
     * <
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值