飞信好友发短信

news/2024/10/30 21:30:06/

网上看到有网页版的飞信,http://fetionlib.appspot.com/可以添加好友,群发和定时发送短信给飞信好友,还开放了API接口供程序调用,可以用它来监控机器是否正常服务定期给管理员发短信,或者小规模的网站给会员发短信之类的服务。

重要提示:近期所有appspot的https都惨遭RESET,请先前使用API的用户,把调用地址中https改成http

简单测试一下:http://fetionlib.appspot.com/restlet/fetion/13812345678/password/13912345678/message

其中13812345678 和13912345678是发送方和接收方的手机号码,注意这两个号码必须相互是好友,我们把它换成自己的手机号码,让它发送给自己,password改成您的密码,在浏览器里输入该好后的链接,稍等片刻,如果成功,便会显示OK,此时您的手机应该能收到自己发来的message。

好了,上面是最简单的测试,废话不多说了,下面放Java调用的例子,来实现发送短信,发送和取消定时短信,加好友等一系列动作。其他语言应该类似的调用Http Connection用GET或POST去实现。下面例子上是发短信的,其他的如取得好友列表、发送和取消定时短信、添加好友的例子请直接查看http://fetionlib.appspot.com/api.html

packagecom.test;

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

importorg.apache.commons.logging.Log;
importorg.apache.commons.logging.LogFactory;

importorg.json.JSONArray;
importorg.json.JSONObject;

/**
*@authorTerryEmail:yaoxinghuoat126dotcom
*@versioncreate:Aug5,200911:17:23AM
*@versionupdate:Oct15,200900:11:00AM
*@description飞信API(fetionlib)HTTP简单调用举例另有Restlet的方式可供调用。网页版飞信首页:http://fetionlib.appspot.com/
*小提示:免费开通飞信:如果您的手机号没有开通飞信,可以到中国移动飞信网站查看开通,或者直接编辑短信KTFX发送到10086开通
*修改飞信密码:手机编辑新密码(6到16位,不能是中文或全角字符)内容发送到12520050
*直接在浏览器里输入以下地址(您的手机号码和密码请自行更改,密码不要包含/,朋友号码请填写自己的手机号码):
*http://fetionlib.appspot.com/restlet/fetion/13812345678/password/13912345678/message
*以上四个用/隔开的加粗的地方,应该分别替换成:您的手机号、密码、对方手机号(可以写自己的手机号发给自己)、短信内容(不超过180字),
*如果是密码错误,没有开通飞信,对方不是您好友等原因不能发送都是返回提示Message Not Sent,只有成功返回OK
*如果要发送中文,最好用URLEncode(UTF-8编码,如“你好”Encode后为%E4%BD%A0%E5%A5%BD,现已支持)或后面举的例子(POST方式,注意调用的URL略有不同)
*如果您可以收到自己发给自己的短信,恭喜您,测试通过,你可以用您熟悉的语言通过POST或GET调用,调用格式请看下面Java例子,其他语言类似
*如有疑问或对API的接口调用方式有任何更好的建议,欢迎提出宝贵意见
*
*现已经更新支持取得好友列表、POST方式的群发(8个或8个以下好友)和定时发送群发(定时群发最多30个好友),请看更新的例子
*
*更新近期发现有人利用本程序给他人发送轰炸短信,给他人造成严重骚扰,同时也大量消耗本站资源,已作如下限制:
*同一个手机号给同一个好友的发短信API以及其他的API(如:添加好友、获取好友列表等)请求间隔为30秒,30秒内的类似请求将无法完成。
*注:考虑到实际需要,给自己发送短信(手机号和对方好友号码相同或者群发好友里面包含自己手机号)的API请求将不会有30秒时间间隔的限制!
*
*本飞信API接口程序由Google强力驱动、免费托管,将长期保留,示例程序用到的json包,请到www.json.org下载jar包,也可到这里下载
*/
publicclassTest{
privatestaticLoglog=LogFactory.getLog(Test.class);

publicstaticvoidmain(String[]args){
//测试发短信
booleanb=fetchToSendSMS("13812345678","12345678",newString[]{"13812345678"},
"TestMessage");
System.out.println("SendMessageresult:"+b);

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

//测试添加好友
//intresult=fetchToAddFriend("13812345678","12345678","13812345678","TestMyName","TestFriendName");
//System.out.println("AddFriendresult:"+result);

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

//测试删除定时短信
//booleanb2=fetchToDeleteScheduleMsg("13812345678","12345678","123456");
//System.out.println("schedule message delete result:"+b2);
}

privatestaticfinalintTRY_TIMES=3;
privatestaticfinalintTIME_OUT=30000;

/**
*发送短消息更简单的Get方式(不支持群发,如要群发用下面POST方式,已更新),直接在浏览器里输入以下地址,手机号码和密码请自行改掉:
*http://fetionlib.appspot.com/restlet/fetion/13812345678/password/13912345678/message成功返回OK
*否则返回MessageNotSent,如果要群发或者您的密码包含/或者需要提交中文消息避免可能的乱码最好请用以下的程序(POST方式)
*注意参数String[] friends 中的数组可以是好友的手机号,也可以是后面用程序取到的好友的uri,详见后面取得好友列表的说明
*如fetchToSendSMS("13812345678","password",newString[]{"sip:12345678@fetion.com.cn;p=5065","13916416465","tel:15912345678"},"Test");
*好友数不能超过8个,如果有需要,请用程序分开来多次调用

*注意:相同手机号,相同好友的请求的调用间隔要超过30秒,否则不成功(responseCode:406),但接受好友中包含你自己的手机号的请求不受30秒的限制!
*/
publicstaticbooleanfetchToSendSMS(Stringmobile,Stringpassword,
String[]friends,Stringmessage){
// 加上UUID的目的是防止这样的情况,在服务器上已经成功发送短信,却在返回结果过程中遇到错误,
// 而导致客户端继续尝试请求,此时让服务器根据UUID分辨出该请求已经发送过,避免再次发送短信。
Stringuuid=UUID.randomUUID().toString();
for(inti=0;i<TRY_TIMES;i++){
intresponseCode=0;
try{
URLpostUrl=newURL(
"http://fetionlib.appspot.com/restlet/fetion");
HttpURLConnectionconnection=(HttpURLConnection)postUrl
.openConnection();
connection.setConnectTimeout(TIME_OUT);
connection.setReadTimeout(TIME_OUT);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
connection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
connection.connect();
DataOutputStreamout=newDataOutputStream(connection
.getOutputStream());
Stringcontent="mobile="+mobile+"&uuid="+uuid
+"&password="+password+"&friend="+convertArrayToJSONString(friends)
+"&message="+URLEncoder.encode(message,"utf-8");
out.writeBytes(content);

out.flush();
out.close();

responseCode=connection.getResponseCode();
connection.disconnect();
if(responseCode==202)
returntrue;
else
returnfalse;
}catch(Exceptione){
log.warn("errorfetchToSendSMS,exception:"+e.getMessage()
+".tried"+i+"times");
}
}
returnfalse;
}

//把数组转化成JSONString
private static String convertArrayToJSONString(String[] arr) throws Exception {
JSONArray ja = new JSONArray();
for (String a : arr)
ja.put(a);//ja.add(a);//?
return URLEncoder.encode(ja.toString(), "UTF-8");
}

}


http://www.ppmy.cn/news/312088.html

相关文章

电信smgp3.0短信发送问题

smgp3.0短信 问题&#xff0c;返回错误码46 怎么解决 从网上下载的smgp的jar &#xff0c;最终返回的status错误码是46 非法的发送方号码 &#xff0c;求教怎么解决 SMGP3 smgp new SMGP3(); int socketID smgp.SMGP_Connect("135.0.69.90", 8891, "MSSFXPT&…

Python自动发短信

摘要&#xff1a;最近开发微信自动回复小程序&#xff0c;需要用到一个好友发消息自动短信通知我的功能&#xff0c;因此写了这个程序。主要使用Twilio网站提供的短信功能。 实现起来也是非常方便的。 作者博客地址&#xff1a;http://www.yooongchun.cn/ 首先到官网申请账号&a…

用计算机发短信,怎样发短信的步骤_教你如何使用电脑发短信!

",1)"> 教你如何使用电脑发短信! 今天我教大家一招怎样通过电脑跟别人收发信息。 首先我要说明几点 1我今天告诉大家的方法可以同时在电脑上收发信息也就是跟聊QQ一样的和别人发短信不需要触摸手机了~!超级方便 2发短信产生的费用跟你使用手机产生的费用一样也就是…

互发短信之SmsManager

短信管理器 &#xff1a; SmsManager 1. 在 Android 2.0 以前 应该使用 android.telephony.gsm.SmsManager 之后应该用 android.telephony.SmsManager; 2. 获取系统默认的短信管理器 SmsManager smsManager SmsManager.getDefault(); 3. 按照每条短信最大字数来拆分短信 …

tp6个人实现短信发送注册

public function loginDo() {$data input();$codeCache::get($data[tel]);//用表单输入的验证码做对比if ($code ! $data[code]) {return json([code > 500, msg > 验证码错误, data > ]);}$data[name]input(tel);$data[pwd]123456;\app\admin\model\User::create($d…

使用飞信定时给好友发短信

飞信的定时短信功能应该在2008年底都推出了吧&#xff0c;园子一直也没有用过。今天试了下发现非常好用&#xff0c;本文简单分享下飞信定时短信的使用方法。 定时发送短信的好处 在朋友生日的时候&#xff0c;有时候为了把发送祝福的时间卡在晚上零点零分而费了不小功夫。现…

7000条短信接口!福利赠送!

感谢支持浪杉博客&#xff01;记录时间2019.1.23 以下是7000条短信接口 http://id.ourgame.com/mobilepassport!getMobileYzm.do?passport http://id.ourgame.com/mobilepassport!getMobileYzm.do?passport http://hd.jiedaibao.com/promotion/send-verify-code?icodeGQ9KB…

Python群发短信

工具&#xff1a;adb、python开发环境、安卓手机、macOS 首先安装python环境&#xff0c;安装terminal adb。 其中adb安装过程&#xff1a; brew install android-platform-tools 检查adb的状态 adb devices 如果安装成功&#xff0c;检查设备的指令会列出当前设备。…