`

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调用第三方的短信接口

    3. **认证机制**:第三方接口通常需要API密钥进行身份验证,可能采用API Key、OAuth 2.0等。你需要了解如何在请求头中添加认证信息,确保请求的安全性。 4. **错误处理**:调用接口时可能会遇到网络问题、认证失败...

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

    在IT行业中,调用第三方接口发送短信是一种常见的通信方式,特别是在用户验证、通知服务和营销活动中。本篇文章将深入探讨如何使用Java语言调用第三方短信平台接口,实现短信的实时发送,以及涉及到的相关知识点。 ...

    java 第三方短信接口 demo及文档

    对于“java 第三方短信接口 demo及文档”这个主题,我们将深入探讨如何在Java应用程序中集成短信服务,特别是使用乐信接口。 首先,乐信接口是一个提供短信服务的第三方平台,它允许开发者通过API调用来发送验证码...

    java实现短信信息的发送

    首先,短信发送通常依赖于第三方短信服务提供商,例如阿里云、腾讯云等。这些服务商提供了API接口,通过HTTP请求或者SDK来调用,以发送短信。在这个Java工具类中,关键在于配置正确的`properties`文件,这里提到的...

    java代码实现短信猫发短信

    然而,需要注意的是,`javax.comm`在Java 6之后不再被官方维护,所以在较新的Java版本中,可能需要第三方库如RXTX或JSerialComm来替代。 2. **短信猫的工作原理**: 短信猫通过插入SIM卡并连接到计算机,可以模拟...

    java实现发送短信

    首先,我们需要理解发送短信的基本流程:通常,开发者会通过HTTP请求与第三方短信服务商的API接口进行交互,传递必要的参数如手机号码、短信内容和验证码等,以发送短信。这个过程中可能涉及到的身份验证、请求格式...

    java发送短信接口

    这些SDK(Software Development Kit)通常由电信运营商或第三方短信服务商提供,例如阿里云、腾讯云等,它们包含了发送短信所需的各种API和工具。SDK文档会详细解释如何调用接口、参数设置以及返回结果的处理方法。 ...

    java实现短信发送功能(java原生API实现)

    Java 实现短信发送功能主要涉及网络通信和协议处理,这里我们主要探讨如何使用Java原生API来完成这一任务。在Linux环境下,通过构建可执行的jar包,我们可以将这个功能集成到任何系统中,无需依赖特定的开发环境。 ...

    java代码实现发送短信,中国电信smgp协议api

    在实际开发中,通常会使用第三方库来简化这个过程,例如Java的SMGP开源库,如smslib,它提供了完整的SMGP协议实现,包括连接管理、报文构建和解析等功能。通过这些库,开发者可以专注于业务逻辑,而无需关心底层的...

    Java实现发送短信的架包

    总结来说,Java实现发送短信涉及到的主要知识点包括:网络协议(如SMTP和HTTP)、HTTP请求处理、第三方库的使用(如Apache Commons Net、HttpClient、OkHttp等)、API接口调用、安全最佳实践以及短信服务提供商的...

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

    为了方便开发者,移动飞信提供了对外的API接口,使得第三方应用能够集成其功能,比如发送短信。 在Java中,调用接口通常采用HTTP请求或Socket通信的方式。针对移动飞信接口,我们可能需要使用HTTP请求,因为HTTP...

    Java利用第三方接口缩短地址

    这个项目就是关于如何在Java中利用第三方接口实现URL缩短功能的一个实例。主要涉及的技术点有: 1. **HTTP请求**:Java中可以使用多种库来发送HTTP请求,比如`java.net.URL`、`HttpURLConnection`、`Apache ...

    用JAVA写的短信发送程序

    在Java中,发送短信通常需要借助第三方库,如SMPP(Short Message Peer-to-Peer)协议库。这些库提供了与短信网关交互的API,使得Java程序能够发送和接收短信。例如,`derby.jar`可能包含的是Apache Derby数据库的...

    java实现手机短信的发送

    在Java环境下,我们不能直接通过系统API发送短信,而是需要借助于第三方服务提供商,如Twilio、 Nexmo 或者国内的云通讯平台,如阿里云、腾讯云等。这些服务商提供了RESTful API,允许开发者通过HTTP请求发送短信。 ...

    java调用移动接口发送短信例子

    在Java中,我们常用`HttpURLConnection`或者第三方库如Apache HttpClient或OkHttp来发起HTTP请求。 1. **使用HttpURLConnection**:这是Java标准库中的方法,适用于基本的HTTP请求。以下是一个简单的POST请求示例:...

    Java发送短信的实现

    总的来说,Java发送短信涉及到与第三方短信服务提供商的接口交互,这需要理解HTTP请求和响应的基本概念,以及JSON数据的处理。通过以上步骤,你可以实现在Java应用程序中发送短信的功能。在实际开发中,还应考虑性能...

    JAVA短信验证源码DEMO

    5. **短信服务提供商API**:大多数情况下,发送短信并非直接通过运营商,而是通过第三方短信服务提供商,这些提供商提供了API供开发者调用。在DEMO中,`MessageSendClient.java`和`MessageSender.java`可能封装了对...

    Java+Demo对接中国移动 云MAS短信发送-Jar

    Java+Demo对接中国移动云MAS短信发送-Jar是一个关于使用Java编程语言与中国移动的云MAS(Mobile Application Server)服务进行集成,实现短信发送功能的技术实践。中国移动的云MAS平台为企业提供了强大的短信服务...

    JAVA模拟多线程给多用户发送短信

    值得注意的是,本文虽然没有提供实际的短信发送功能实现,但从逻辑上讲,我们可以在UserThread类的run()方法中嵌入使用第三方短信服务API的代码,从而实现真正的短信发送功能。在使用短信服务商的API进行发送时,...

    java实现给指定手机号码发送文字短信

    在Java中,我们通常使用`HttpURLConnection`或第三方库如Apache HttpClient、OkHttp来发送HTTP请求。发送短信服务通常通过POST方法向提供商的API接口发送请求,携带必要的参数如API密钥、手机号码、短信内容等。 二...

Global site tag (gtag.js) - Google Analytics