本文目录一览:
- 1、手机短信验证码java接口怎么写
- 2、中国移动短信接口java怎么调用
- 3、java短信接口发送的这三种短信,你收到过几种
- 4、java 通用短信接口思路
- 5、java程序如何对接巴卜短信接口
- 6、短信接口是什么东西?
手机短信验证码java接口怎么写
这个首先你要确定一下短信平台,他们会给你提供短信实现的接口文档。
比如:
public static String doPost(String reqUrl, Map parameters, String recvEncoding)
{
HttpURLConnection url_con = null;
String responseContent = null;
try
{
StringBuffer params = new StringBuffer();
Iterator iter = parameters.entrySet().iterator();
while (iter
.hasNext())
{
Map.Entry element = (Map.Entry)iter.next();
params.append(element.getKey().toString());
params.append("=");
params.append(URLEncoder.encode(element.getValue().toString(),
requestEncoding));
params.append("");
}
if (params.length() 0)
{
params = params.deleteCharAt(params.length() - 1);
}
URL url = new URL(reqUrl);
url_con = (HttpURLConnection)url.openConnection();
url_con.setRequestMethod("POST");
System.setProperty("sun.net.client.defaultConnectTimeout",
String.valueOf(connectTimeOut));
System.setProperty("sun.net.client.defaultReadTimeout",
String.valueOf(readTimeOut));
url_con.setDoOutput(true);
byte[] b = params.toString().getBytes();
url_con.getOutputStream().write(b, 0, b.length);
url_con.getOutputStream().flush();
url_con.getOutputStream().close();
InputStream in = url_con.getInputStream();
BufferedReader rd = new BufferedReader(
new InputStreamReader(in,
recvEncoding));
String tempLine = rd.readLine();
StringBuffer tempStr = new StringBuffer();
String crlf = System.getProperty("line.separator");
while (tempLine != null)
{
tempStr.append(tempLine);
tempStr.append(crlf);
tempLine = rd.readLine();
}
responseContent = tempStr.toString();
rd.close();
in.close();
}
catch (IOException localIOException)
{
}
finally
{
if (url_con != null)
{
url_con.disconnect();
}
}
return responseContent;
}
public static String sendTelCode(String mobile,String telcode){
MapString ,String map = new HashMapString ,String();
map.put("account", "Babo");
map.put("mobile", mobile);
map.put("pswd", "D3dddD");
try {
map.put("msg", java.net.URLEncoder.encode("您的验证码是"+telcode+",若非本人操作请忽略","utf-8"));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String getValue = doPost("", map, "UTF-8");
System.out.println(getValue);
return getValue;
}
中国移动短信接口java怎么调用
java调用运营商的接口参考:
%@page contentType="text/html" pageEncoding="UTF-8"%
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
""
html
head
meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
titleJSP Page/title
/head
body
h1
%
String PostData = "sname=kwsmspwd=kwsmscorpid=sprdid=101sdst=13910862579smsg="+java.net.URLEncoder.encode("短信内容","utf-8");
//out.println(PostData);
String ret = cn.umob.sms.Send.SMS(PostData, "");
out.println(ret);
//请自己反序列化返回的字符串并实现自己的逻辑
%
/h1
/body
/html
java短信接口发送的这三种短信,你收到过几种
不同的行业应用java短信接口的用途不一样,但大多数都是用于传递消息、加强服务、提高安全性,因而一般情况下java短信接口会发送通知类短信、问候类短信、营销类短信及广告类短信,具体的让我们一起来了解下吧。
1.通知型短信
应用java短信接口发送通知类短信的行业很多,比如教育行业会给学生发送放假通知、开学通知或者考试通知等;一些人数多的大型企业常常要应用java短信接口给员工发送开会通知、内部业绩通报、内部员工激励等信息;快递物流行业则需要发送快递领取通知短信等,此外一些婚恋机构平台或者某个家庭也可以应用java短信接口发送婚礼通知短信,比如:我亲爱的同学、朋友们,本人郑重决定于XX日终结单身生活,迈向婚姻的殿堂,在那激动人心的时刻里,希望你能来见证,为我举杯祝福!地址XX!可别迟到哦!
2.问候型短信
这类短信往往是企业出于服务的目的而发送的,为的是维护和客户之间的关系,加强跟客户之间的黏性,因而每到了过年过节或者特殊时间的时候,企业就会应用java短信接口给用户发送祝福问候类的短信,以便让用户可以想起自己,借此加深用户对企业的忠诚度还有依赖性。这类短信比较柔和,没有很强的目的性,所以比较容易让用户接受。
3.促销型短信
这是平时市民接收很多的一种短信类型了,这种短信一般都是企业出于营销推广的目的发送的,为的是刺激客户下单,或者让客户增加重复购买的的机率,因为java短信接口发送的促销短信正好是很多市民需要的,因而效果非常好,很多企业也因此收获了不少回头客。
java 通用短信接口思路
这个也没有什么复杂的。各个接口提供的API功能一致,只是程序上要设计的合理;
程序上对需要的短信发送功能进行封装,就是说,在平台上只有平台定义的发送方法或者类,那如何把这些不同的接口API集合起来,那是否可以设计成可配置的功能,比如你要变更短信猫的接口,只是简单的把短信猫所提供的JAR导入的到平台,把需要的功能方法(发送、接收、回执等)用可变的配置机制,把相关的函数方法配置到文件中。这样不就可以了;
java程序如何对接巴卜短信接口
他们的接口不限制编程语言的,无论你是JAVA、C、VB、.NET等都可以实现对接的。
短信接口是什么东西?
我来给你介绍一下短信接口就是短信SDK、API,以下就是我编辑的java短信接口,已经测试请求步骤。
单条短信接口:此接口为客户发送单条短信提供支持
安全接口
安全接口的数据传输经过加密、压缩,能够保障数据传输安全,如果有安全性要求,建议选用安全接口;
安全接口所接收、响应的数据,均经过AES加密,在数据加密前允许使用gzip算法压缩数据。
数据加密方式:AES;
加密算法:AES/ECB/PKCS5Padding;
压缩算法:gzip 【建议进行数据压缩】;
请求
链接
参数
参数类型传输方式描述appIdStringhttp头信息传输用户Appid(必填)gzipStringhttp头信息传输是否启用GZIP压缩【非必填】
on :是encodeStringhttp头信息传输字符集【非必填】
如果不填,默认UTF-8编码集,此字符集必须与实际传输数据字符集相同mobileString1、将所有参数拼装成json串后;
2、将json串进行AES加密;
3、加密后的byte数组通过post直接传输;手机号(必填)contentString短信内容(必填)timerTimeString定时发送时间(选填,定时时间在90天之内)
格式:yyyy-MM-dd HH:mm:ss
如果不填,则为即时发送customSmsIdString自定义消息ID(选填)
最长32位extendedCodeString扩展码(选填)
最长支持12位,如果最终号码长度超长,会截取扩展码,请根据我司建议位数提交requestTimelong请求时间(必填)
格式:时间毫秒数
安全验证字段,防止同一个请求重复提交;
短信平台根据requestTime与requestValidPeriod共同判断请求是否有效,针对无效的请求,短信平台响应错误;
判断方法:请求时间 + 请求有效时间 当前时间 ? 有效 : 无效;requestValidPeriodint请求有效时间(必填)[单位:秒]
描述同上示例
1、将参数拼装成json串
{
"mobile":"15538850000",
"content":"【清华大学】 i love you ! ",
"timerTime":"2017-03-15 12:00:00",
"extendedCode":"112",
"customSmsId":"2017010709302911",
"requestTime":1490588340964,
"requestValidPeriod":30
}
2、将json串转化为UTF-8编码的byte数组
Byte[] data = json.toBytes["UTF-8"];
3、如果需要gzip压缩,则压缩数据,并放入标示,[非必需步骤]
data =gzip.com (data);
http.setHead("gzip","on");
4、通过AES加密
data = AES. encryption (secretKey,data,算法);
5、将appId放入http head
http.setHead("appId",appId);
6、通过http post方法传输
Byte[] response = http.post(url,data);
响应
参数
参数类型传输方式描述resultStringhttp头信息传输请求状态码,详见本文档《接口状态码表》
当result不是SUCCESS时,不会响应下面参数数据。mobileString传输过来的数据是加密后的byte数组手机号smsIdString消息IDcustomSmsIdString客户自定义SMSID示例
1、从http头信息获取请求状态,如果code不是SUCCESS,不用进行下面几步
String code = http.getHead("reasult");
2、从响应流获取响应数据,并解密
Byte[] data = Response.getdata();
data = AES. decryption (secretKey, data,算法);
3、如果请求信息中有压缩标示,返回的数据也是压缩过的,需要解压缩;[非必须步骤]
data = GZIP.dcom(data);
4、将数据转换成JSON串
String json = new String(data,"UTF-8");
{
"mobile":"15538850000",
"smsId":"20170392833833891100",
"customSmsId":"20170392833833891100"
接入指导
步骤一:登录亿美软通官网
步骤二:注册并获取客户标识(AppId)和客户密钥(secretKey)账号
步骤三:参照接口文档和DEMO,对接接口并测试
步骤四:测试通过,正式上线,充值使用