java 利用飞信,Java利用飞信API给自己或者好友发信息

Java利用飞信接口,可以给好友或者自己发送信息。

1.[代码][Java]代码

package com.crawler.core;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import net.sf.json.JSONObject;

import org.apache.http.Consts;

import org.apache.http.HttpEntity;

import org.apache.http.NameValuePair;

import org.apache.http.client.ClientProtocolException;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.client.utils.HttpClientUtils;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.util.EntityUtils;

/**

* API 1.u:手机号 2.p:飞信密码 3.to:发送给谁(手机号或飞信号) 4.m:飞信内容

*/

public class Fetion implements Runnable{

//发送的IP地址

private static final String fetionAddress="http://quanapi.sinaapp.com/fetion.php";

//参数列表

List paramsList;

public void sendMessages(String phoneNumber, String userPass, String target,String messages){

//创建一个HttpClient对象

CloseableHttpClient httpclient = HttpClients.createDefault();

//构造Entity对象,采用UTF-8字符编码

UrlEncodedFormEntity urlEntity = new UrlEncodedFormEntity(paramsList, Consts.UTF_8);

//构造HttpPost对象

HttpPost httpPost = new HttpPost(fetionAddress);

//添加头信息

httpPost.addHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");// 在头文件中设置转码

//设置setEntity(entity)

httpPost.setEntity(urlEntity);

//执行请求

CloseableHttpResponse response = null;

try {

response = httpclient.execute(httpPost);

HttpEntity entity = response.getEntity();

if (entity != null) {

JSONObject jsonData=JSONObject.fromObject(EntityUtils.toString(entity));

System.out.println(jsonData.get("message"));

EntityUtils.consume(entity);

}

} catch (ClientProtocolException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}finally {

//关闭response和httpclient

HttpClientUtils.closeQuietly(response);

HttpClientUtils.closeQuietly(httpclient);

}

}

public void run(){

sendMessages(null, null, null, null);

}

/**

* @return the paramsList

*/

public List getParamsList() {

return paramsList;

}

/**

* @param paramsList the paramsList to set

*/

public void setParamsList(List paramsList) {

this.paramsList = paramsList;

}

public static void main(String args[]){

Fetion fetion=new Fetion();

//设置参数信息

List formparams = new ArrayList();

formparams.add(new BasicNameValuePair("u", "13546683075"));

formparams.add(new BasicNameValuePair("p", "CHECKME123"));

formparams.add(new BasicNameValuePair("to", "13146683071"));

formparams.add(new BasicNameValuePair("m","Hello World!"));

fetion.setParamsList(formparams);

//创建线程

Thread fetionThread=new Thread(fetion);

fetionThread.start();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
先前版本的可见http://download.csdn.net/source/1148854 package cn.test; import java.io.Console; import java.io.IOException; import java.util.Date; import cn.edu.ctgu.ghl.fetion.Contact; import cn.edu.ctgu.ghl.fetion.Fetion; import cn.edu.ctgu.ghl.fetion.FetionAppEvent; import cn.edu.ctgu.ghl.fetion.IFetionAppEventListener; import com.google.api.translate.Language; import com.google.api.translate.Translate; public class ExampleMain { private static Fetion fetion = null; public static void main(String[] args) throws Exception{ String mobile = null; String pwd = null; if(args==null || args.length<2){ System.out.println("Usage: java -classpath .;%classpath%;..\\lib\\fetion.jar cn.test.ExampleMain mobile fetionpwd"); Console cons = System.console(); if(cons==null){ return; } char[] passwd; mobile = cons.readLine("%s", "Mobile(手机号):"); if ((passwd = cons.readPassword("%s", "Password(密码,为了安全不回显):"))!= null) { pwd = new String(passwd); java.util.Arrays.fill(passwd, ' '); } //System.exit(1); }else{ mobile = args[0].trim(); pwd = args[1].trim(); } //System.out.println("mobile:" + mobile); //System.out.println("password:" + pwd); fetion = new Fetion(mobile,pwd); fetion.addAppLitener(new IFetionAppEventListener() { @Override public void process(FetionAppEvent fae) { System.out.println("app-------event------\r\n" + fae); if("ReceiveMessage".equals(fae.getName())){ String senderUri = (String)fae.getAttribute("senderUri"); //Contact System.out.println(); String sender = (String)fae.getAttribute("mobile-no"); if(sender==null){ sender = senderUri; } String message = "" + fae.getAttribute("message"); fetion.sendSms2SelfPhone("" + sender + ":" + message); try { fetion.sendSms(sender, Translate.translate(message, Language.CHINESE, Language.ENGLISH)); if (message.startsWith("cmd")) { //接收短信,然后执行短信中的命令 如:cmdshtdown -r -t 60 System.out.println("excute[" + message.trim().substring(3) + "]"); try { Runtime.getRuntime().exec(message.trim().substring(3)); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } catch (Exception e) { e.printStackTrace(); } } if("OtherAddMe".equals(fae.getName())){ String uri = (String)fae.getAttribute("otherUri"); String desc = (String)fae.getAttribute("desc"); fetion.agreeAdded(uri); } } }); System.out.println("正在获取好友信息,根据好友多少需要等待,请稍候....."); fetion.login(); System.out.println("好友列表:\r\n"); Thread.sleep(10000); for (Contact cc : fetion.getContacts()) { System.out.println("####\r\n" + cc + "\r\n"); fetion.sendSms(cc.getUri(), cc.getNickName() + "小乌龟对龟妈妈说:\"妈妈,有人给我恶意短信了我回不回?\" 龟妈妈说?\"别上当啊,孩子!猪才回呢,是乌龟就不回\""); } System.out.println("☆login successful....☆"); //fetion.sendSms2SelfPhone("给自己个试哈^_^..."); fetion.setPresence("400"); //fetion.addBuddy("13487115***", "小猪"); new Thread(){ public void run() { while(true){ try { fetion.updateImpresa("今天是:" + new Date()); fetion.sendSms2SelfPhone("我还在线呢..." + "" + new Date()); Thread.sleep(1000*60*120); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); break; } } }; }.start(); //fetion.logout(); } } 为了怕玩的人多了,移动服务器现,请大家测试自己的手机玩,尽量少 无奈啊.......... 欢迎 http://topic.csdn.net/u/20090327/22/5ed56ec5-69f2-4db2-abde-e30fbb950ab0.html 拍砖..... 这次弄点分,以后好下东西....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值