`

java 飞信接口

阅读更多
本接口走的是移动wap飞信接口,绝对安全

package net.duohuo.tengzhinei.Feition;

import java.io.BufferedReader;

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLEncoder;
import java.net.HttpURLConnection;
public class Feition {
	static  final String MOBILE="手机号";//实际使用时可放在配置文件中
	static  final String PASSWORD="密码啊";
	static  final String LOGINURL="http://f.10086.cn/im/login/inputpasssubmit1.action?";//登陆的URL
	static  final String SENDMSGURL="http://f.10086.cn/im/chat/sendShortMsg.action;";//发短信的URL
	static final String SEARCH="http://f.10086.cn/im/index/searchOtherInfoList.action;";
	static final String ADDFRIEND="http://f.10086.cn/im/user/insertfriend2.action;";
	static final String CARD="jsessionid";

	private String session;		//对应的session 这里是jsessionid=abcukqLZwma_35eswdRdt的形式
	private String t;		//t不知到是什么返回的连接中都包含他,且是变化的这里是t=26181745728233079的形式
	public String getSession() {
		return session;
	}

	public void setSession(String session) {
		this.session = session;
	}

	public String getT() {
		return t;
	}

	public void setT(String t) {
		this.t = t;
	}



	
	/**
	 * @param args
	 */

	public boolean login(String mobile ,String password){		//登录
	String tAndSession=null;
	String loginMsg="m="+mobile+"&pass="+password+"&loginstatus=4";
	String loginURL=LOGINURL+loginMsg;
	String all=null;
	try {
	all=post(loginURL);
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

//	System.out.println(all);
	int begin=all.indexOf(CARD);
	int end=all.indexOf("\"", begin);
	tAndSession=all.substring(begin, end);
	String s=tAndSession.substring(0,tAndSession.indexOf("?"));
	String t=tAndSession.substring(tAndSession.indexOf("?")+1);
	setSession(s);
	try {
		Thread.sleep(1000);     //sleep是因为登录后不能马上发短信的缘故
	} catch (InterruptedException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	setT(t);
	
	return true;
	
	}
	String getToUserid(String toPhone){
	String url=SEARCH+getSession()+"?"+getT()+"&searchText="+toPhone;
	String all = "";
	try {
		all=post(url);
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
		int begin=all.indexOf("touserid=");
		int end=all.indexOf("&amp", begin);
		return all.substring(begin,end);
	}
	/**
	 *@return String 放回的东西没什么意义只是看看移动到底返回什么给我
	 * @param touserid 是对方手机号
	 */
	public String sendMsg(String msg,String toPhone){ 
		if( getSession()==null||getT()==null){
			login(MOBILE, PASSWORD);	
		}	
	try {
		msg=URLEncoder.encode(msg, "UTF-8");
	} catch (UnsupportedEncodingException e1) {
		e1.printStackTrace();
	}
		String msgSendURL=SENDMSGURL+getSession()+"?"+getToUserid(toPhone)+"&"+getT()+"&msg="+msg;
		String all=null;
		try {
		all=post(msgSendURL);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		if(!all.contains("成功")){ //防止session过期等无法发送的问题
			login(MOBILE, PASSWORD);
			sendMsg(msgSendURL, toPhone);
		}
		return all;
		
	}
	
	void addFrident(String phone){
        login(MOBILE, PASSWORD);	
		String url=ADDFRIEND+getSession()+"?"+getT()+"&number="+phone+"&type=0";
		String all=null;
		try {
			all=post(url);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		System.out.println(all);
	}
	
	/**
	 * @see 原来方法中是用的是post方法,但是好像post没用,不知是我代码问题还是移动问题,反正get方法有用,方法名我就没改
	 */

public String post(String urlStr) throws IOException{  
	String result="";
	URL url=new URL(urlStr);
	HttpURLConnection  connection= (HttpURLConnection)url.openConnection();	
	BufferedReader in=new BufferedReader(new InputStreamReader( connection.getInputStream(),"UTF-8"));
	String line;
while((line=in.readLine())!=null){
	result+=line;
}
	return result;
}

	public static void main(String[] args) throws IOException {
			Feition f=new Feition();	
		f.addFrident("好友手机号");
		System.out.println("sfsdf");
		f.sendMsg("消息", "你的手机号");
	}

	
	
}

 

分享到:
评论
1 楼 dingchuan 2012-08-19  
有验证码,连接失败

相关推荐

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

    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; ...

    java飞信接口(移动服务器)

    ### Java飞信接口详解:移动服务器的WAP飞信接口应用 #### 一、引言 在移动互联网时代,即时通讯服务成为人们日常沟通的重要工具。飞信作为中国移动推出的一款集即时消息、短信、语音、视频等多功能于一体的通信...

    java 飞信接口含源文件

    Java飞信接口是一种用于开发与飞信系统交互的应用程序接口,它允许开发者通过编写Java代码来实现发送短信、接收消息、管理联系人等飞信功能。飞信是中国移动推出的一款即时通讯服务,允许用户通过互联网或者手机进行...

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

    飞信的API在lib里面fetion-java-api.jar~~ 还说明一点,飞信大家都知道,免费的前提是自己开通飞信并且只能发送给飞信好友,所以别抱怨说还要密码什么的! !!!!!!!!!!!!!!!!!!!! 有童鞋说不能...

    java飞信接口,FetionApi(无license限制,附可运行例子)

    import java.io.IOException; import cn.edu.ctgu.ghl.fetion.Contact; import cn.edu.ctgu.ghl.fetion.Fetion; import cn.edu.ctgu.ghl.fetion.FetionEvent; import cn.edu.ctgu.ghl.fetion.IFetionEventListener;...

    飞信java开发接口

    Java版的飞信接口通常是通过SDK(Software Development Kit)提供的,包含了必要的库文件和文档,帮助开发者快速集成飞信的功能到自己的应用中。 描述中的"很难得的 java版飞信接口,下载了绝不后悔"强调了这个资源...

    java飞信接口,FetionApi(无license限制,附可运行代码例子)

    import java.io.IOException; import cn.edu.ctgu.ghl.fetion.Contact; import cn.edu.ctgu.ghl.fetion.Fetion; import cn.edu.ctgu.ghl.fetion.FetionEvent; import cn.edu.ctgu.ghl.fetion.IFetionEventListener;...

    Java开发的飞信接口程序(附源码)

    Java开发的飞信接口程序是一种利用Java编程语言实现的软件,它允许开发者通过飞信的API接口与飞信系统进行交互。飞信是中国移动推出的一款即时通讯服务,它结合了短信、语音和互联网通信功能,使得用户可以通过多种...

    JAVA利用飞信接口发送短信

    Java通过飞信接口发送短信是一种常见的通信方式,尤其在企业应用或者系统通知中,能够方便地将信息实时传递给用户。飞信是中国移动推出的一种即时通讯服务,它提供了API供开发者集成到自己的应用程序中,实现短信的...

    java调用移动飞信接口实现免费发送短信

    Java调用移动飞信接口实现免费发送短信是一个实用的技术,主要涉及到Java编程、网络通信以及API接口的使用。本文将详细解析这一技术的核心知识点,并基于提供的`litefetion-1.0.0`库进行讲解。 首先,飞信是中国...

    java版飞信客户端源码

    Java版飞信客户端源码分析 飞信是中国移动推出的一款即时通讯软件,它允许用户通过互联网或移动网络进行免费的短信、语音通话等通信服务。本文将深入探讨Java版飞信客户端的源码,帮助开发者了解其内部工作原理,...

    飞信接口java Fetion Api java

    import java.io.IOException; import cn.edu.ctgu.ghl.fetion.Contact; import cn.edu.ctgu.ghl.fetion.Fetion; import cn.edu.ctgu.ghl.fetion.FetionEvent; import cn.edu.ctgu.ghl.fetion.IFetionEventListener;...

    调用移动飞信接口实现免费发送短信java版源码

    本案例主要探讨的是如何通过调用移动飞信接口实现免费发送短信的功能,这在Java编程环境下尤为常见。移动飞信是中国移动推出的一款即时通讯软件,允许用户通过网络免费向中国移动手机用户发送短信。 首先,我们要...

    飞信接口的实现结果,附带原代码

    在这个主题中,“飞信接口的实现结果,附带原代码”指的是开发者或研究者已经成功实现了与飞信服务交互的接口,并且提供了相关的源代码供其他人学习和参考。 飞信接口的实现通常涉及到以下几个关键知识点: 1. **...

    java 飞信 API

    Java飞信API是一种基于Java语言开发的接口,用于与飞信系统进行交互,实现短信发送、接收以及其他相关功能。飞信是中国移动推出的一款即时通讯软件,允许用户通过互联网或者手机进行免费短信交流,同时支持语音、...

    java程序写的调用飞信接口给好友发信息

    使用java程序调用飞信的接口给好友发信息。 运行环境必须是6.0的

    java模似HTTP请求通过飞信发送免费短信

    2. **设置HTTP请求参数**:然后,设置请求的目标URL,通常是飞信的短信接口地址,并可能包括其他必要的请求头和POST参数。 ```java GetMethod getMethod = new GetMethod("http://fetion.com/sms/send"); ...

    飞信WebService接口调用源码

    2. **飞信接口**:飞信提供了多种API接口,允许开发者通过编程方式与飞信服务器进行交互,实现发送消息、接收消息、好友管理、群组操作等功能。这些接口通常是RESTful或SOAP类型的,通过HTTP请求调用。 3. **源码...

    java+飞信 免费发送短信

    飞信提供了Java API接口,开发者可以通过这些接口来调用飞信服务。这些接口包括登录、登出、发送短信、接收短信、获取好友列表等操作。通过编写Java代码,我们可以与飞信服务器进行交互,实现自动化发送短信的功能...

    Java 免费给手机发飞信

    - **添加事件监听器**:`addListener`方法用于注册一个`IFetionEventListener`接口的实现类,当收到飞信消息时会调用`process`方法进行处理。 - **登录飞信账户**:使用`login`方法登录飞信账号。 - **发送短信**:`...

Global site tag (gtag.js) - Google Analytics