`

java 用第三方提供的接口实现短信的发送

 
阅读更多
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * 手机短息发送
 * @author zhchen
 *
 */
public class PhoneMessageSendUtil {
	
	private static HttpURLConnection httpURLConnection = null;
	
	//用户名
	private static String SMSServerUId = "xx";
	
	//密码
	private static String SMSServerPassword = "xx";
	
	//第三方提供的接口地址
	private static String url = "xxx";
	
	/**
	 * POST 方式发送消息
	 * 
	 * @param mobile 手机号
	 * @param msg 短息内容
	 * @return
	 */
	public static String sendPost(String mobile,String msg) {
		return sendPost(url , mobile, msg);
	}
	
	/**
	 * GET 方式发送消息
	 * @param url
	 * @return
	 */
	public static String sendGet(String url) {
		try {
			creatConnection(url);
			httpURLConnection.setRequestMethod("GET");
			return receiveMessage(httpURLConnection);
		} catch (IOException io) {
			//logger.log("http close"+io);
		} finally {
			closeConnection();
		}
		return null;
	}
	
	/**
	 * POST 方式发送消息
	 * 
	 * @param url 第三方提供接口的地址
	 * @param mobile 手机号
	 * @param msg 短息内容
	 * @return
	 */
	public static String sendPost(String url,String mobile,String msg) {
		try {
			creatConnection(url);
			httpURLConnection.setRequestMethod("POST");
			httpURLConnection.setDoOutput(true);
			String urlMsg = "uid="+SMSServerUId+"&pwd="+SMSServerPassword+"&mobile="+mobile+"&msg="+msg;
			httpURLConnection.getOutputStream().write(urlMsg.getBytes());
			httpURLConnection.getOutputStream().flush();
			httpURLConnection.getOutputStream().close();
			return receiveMessage(httpURLConnection);
		} catch (IOException io) {
			//logger.log("http close"+io);
		} finally {
			closeConnection();
		}
		return null;
	}

	/**
	 * 创建于第三方的链接
	 * @param url
	 */
	private static void creatConnection(String url) {
		try {
			if (httpURLConnection != null)
				httpURLConnection.disconnect();

			httpURLConnection = ((HttpURLConnection) new URL(url)
					.openConnection());
		//	httpURLConnection.setRequestProperty("Content-Type", "text/html;charset=gbk");
		} catch (IOException io) {
			io.printStackTrace();
			//logger.log("Http Connect to :" + url + " " + "IOFail!");
		} catch (Exception ex) {
			//logger.log("Http Connect to :" + url + " " + "Failed" + ex);
		}
	}

	/**
	 * 关闭链接
	 */
	private static void closeConnection() {
		try {
			if (httpURLConnection != null)
				httpURLConnection.disconnect();
		} catch (Exception ex) {
			
		}
	}

	/**
	 * 操作产生的结果
	 * @param httpURLConnection
	 * @return
	 */
	private static String receiveMessage(HttpURLConnection httpURLConnection) {
		String responseBody = null;
		try {

			InputStream httpIn = httpURLConnection.getInputStream();

			if (httpIn != null) {
				
				ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
				byte tempByte;
				while (-1 != (tempByte = (byte) httpIn.read()))
					byteOut.write(tempByte);
				responseBody = new String(byteOut.toByteArray(), "gbk");
				if(responseBody != null || responseBody.trim().length() != 0){
					responseBody = responseBody.substring(1);
				}
				System.out.println(responseBody);
			}
		} catch (IOException ioe) {
			/*logger.log("Http Connect tosss :" + ioe.getLocalizedMessage() + " "
					+ "IOEFail!");*/
			return null;
		}
		return responseBody;
	}
	
	public static void main(String[] args) {
		for(int i=0;i<10;i++)
			sendPost("1","java短息发送测试");
	}
}
分享到:
评论

相关推荐

    java调用第三方的短信接口

    java编写的调用国内第三方平台发送短信的例子及相关文档

    调用第三方接口发送短信接口

    调用第三方短信平台的接口,实时发送短信。需要申请一个帐号(account)和密码(password)。

    java实现给手机发送验证码

    java实现给手机发送验证码,完成登录验证。利用第三方api接口

    通过JNI实现短信发送

    最近在公司里做了一个手机的项目,需要JAVA程序在发送短信的时候和第三方的短信服务器连接。短信接口是用C++写的。琢磨了三天,大致搞懂了JNI的主体部分。先将心得整理,希最近在公司里做了一个手机的项目,需要JAVA...

    短信发送接口

    随机生成6位数字型的验证码,通过调用第三方的短信发送接口发送给用户。

    集成目前Android主流优秀第三方组件

    这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员快速开发自己的APP 已集成第三方开源...

    Java课程大作业-基于Java实现web实验登录界面源码+项目说明.zip

    Java课程大作业_基于Java实现web实验登录界面源码+项目说明.zip 实现前端页面的基本布局。...手机(邮箱)验证码需调用第三方短信接口发送验证码并进行验证; 后端实现技术不限、数据库系统不限。

    Android例子源码集成安卓主流优秀第三方组件框架.zip

    这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员快速开发自己的APP 已集成第三方开源...

    基于短信应用的SP服务平台java源码

    通讯接口均参照标准协议实现未使用任何第三方的API,我们可以通过灵活的配置以支持不同的运营商(经实际测试和不同的网关厂商兼容性均良好)。 *关键技术:系统使用了线程池、消息队列、数据库连接池、socket连接池等...

    JAVA上百实例源码以及开源项目

    第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在html中 各种EJB之间的调用示例 7个目标文件 摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用源码...

    java开源包4

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    集成安卓主流优秀第三方组件框架.zip

    这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员快速开发自己的APP   已集成第三方...

    java开源包1

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    JAVA上百实例源码以及开源项目源代码

    第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在html中 各种EJB之间的调用示例 7个目标文件 摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用源码...

    java开源包3

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包11

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包6

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包9

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包8

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java试岗题.docx

    1. 编写发送短信验证接口:需要使用第三方短信平台,如阿里大于、互亿无线等,来发送短信验证码。 2. 短信发送无问题后,将运行成功截图到 word 文档中:需要在发送短信后,截图短信发送成功的结果,并将其保存到 ...

Global site tag (gtag.js) - Google Analytics