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短息发送测试");
}
}
分享到:
相关推荐
3. **认证机制**:第三方接口通常需要API密钥进行身份验证,可能采用API Key、OAuth 2.0等。你需要了解如何在请求头中添加认证信息,确保请求的安全性。 4. **错误处理**:调用接口时可能会遇到网络问题、认证失败...
在IT行业中,调用第三方接口发送短信是一种常见的通信方式,特别是在用户验证、通知服务和营销活动中。本篇文章将深入探讨如何使用Java语言调用第三方短信平台接口,实现短信的实时发送,以及涉及到的相关知识点。 ...
对于“java 第三方短信接口 demo及文档”这个主题,我们将深入探讨如何在Java应用程序中集成短信服务,特别是使用乐信接口。 首先,乐信接口是一个提供短信服务的第三方平台,它允许开发者通过API调用来发送验证码...
首先,短信发送通常依赖于第三方短信服务提供商,例如阿里云、腾讯云等。这些服务商提供了API接口,通过HTTP请求或者SDK来调用,以发送短信。在这个Java工具类中,关键在于配置正确的`properties`文件,这里提到的...
然而,需要注意的是,`javax.comm`在Java 6之后不再被官方维护,所以在较新的Java版本中,可能需要第三方库如RXTX或JSerialComm来替代。 2. **短信猫的工作原理**: 短信猫通过插入SIM卡并连接到计算机,可以模拟...
首先,我们需要理解发送短信的基本流程:通常,开发者会通过HTTP请求与第三方短信服务商的API接口进行交互,传递必要的参数如手机号码、短信内容和验证码等,以发送短信。这个过程中可能涉及到的身份验证、请求格式...
这些SDK(Software Development Kit)通常由电信运营商或第三方短信服务商提供,例如阿里云、腾讯云等,它们包含了发送短信所需的各种API和工具。SDK文档会详细解释如何调用接口、参数设置以及返回结果的处理方法。 ...
Java 实现短信发送功能主要涉及网络通信和协议处理,这里我们主要探讨如何使用Java原生API来完成这一任务。在Linux环境下,通过构建可执行的jar包,我们可以将这个功能集成到任何系统中,无需依赖特定的开发环境。 ...
在实际开发中,通常会使用第三方库来简化这个过程,例如Java的SMGP开源库,如smslib,它提供了完整的SMGP协议实现,包括连接管理、报文构建和解析等功能。通过这些库,开发者可以专注于业务逻辑,而无需关心底层的...
总结来说,Java实现发送短信涉及到的主要知识点包括:网络协议(如SMTP和HTTP)、HTTP请求处理、第三方库的使用(如Apache Commons Net、HttpClient、OkHttp等)、API接口调用、安全最佳实践以及短信服务提供商的...
为了方便开发者,移动飞信提供了对外的API接口,使得第三方应用能够集成其功能,比如发送短信。 在Java中,调用接口通常采用HTTP请求或Socket通信的方式。针对移动飞信接口,我们可能需要使用HTTP请求,因为HTTP...
这个项目就是关于如何在Java中利用第三方接口实现URL缩短功能的一个实例。主要涉及的技术点有: 1. **HTTP请求**:Java中可以使用多种库来发送HTTP请求,比如`java.net.URL`、`HttpURLConnection`、`Apache ...
在Java中,发送短信通常需要借助第三方库,如SMPP(Short Message Peer-to-Peer)协议库。这些库提供了与短信网关交互的API,使得Java程序能够发送和接收短信。例如,`derby.jar`可能包含的是Apache Derby数据库的...
在Java环境下,我们不能直接通过系统API发送短信,而是需要借助于第三方服务提供商,如Twilio、 Nexmo 或者国内的云通讯平台,如阿里云、腾讯云等。这些服务商提供了RESTful API,允许开发者通过HTTP请求发送短信。 ...
在Java中,我们常用`HttpURLConnection`或者第三方库如Apache HttpClient或OkHttp来发起HTTP请求。 1. **使用HttpURLConnection**:这是Java标准库中的方法,适用于基本的HTTP请求。以下是一个简单的POST请求示例:...
总的来说,Java发送短信涉及到与第三方短信服务提供商的接口交互,这需要理解HTTP请求和响应的基本概念,以及JSON数据的处理。通过以上步骤,你可以实现在Java应用程序中发送短信的功能。在实际开发中,还应考虑性能...
5. **短信服务提供商API**:大多数情况下,发送短信并非直接通过运营商,而是通过第三方短信服务提供商,这些提供商提供了API供开发者调用。在DEMO中,`MessageSendClient.java`和`MessageSender.java`可能封装了对...
Java+Demo对接中国移动云MAS短信发送-Jar是一个关于使用Java编程语言与中国移动的云MAS(Mobile Application Server)服务进行集成,实现短信发送功能的技术实践。中国移动的云MAS平台为企业提供了强大的短信服务...
值得注意的是,本文虽然没有提供实际的短信发送功能实现,但从逻辑上讲,我们可以在UserThread类的run()方法中嵌入使用第三方短信服务API的代码,从而实现真正的短信发送功能。在使用短信服务商的API进行发送时,...
在Java中,我们通常使用`HttpURLConnection`或第三方库如Apache HttpClient、OkHttp来发送HTTP请求。发送短信服务通常通过POST方法向提供商的API接口发送请求,携带必要的参数如API密钥、手机号码、短信内容等。 二...