java开发短信接口(java发送短信接口)

网友投稿 266 2023-03-13


本篇文章给大家谈谈java开发短信接口,以及java发送短信接口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享java开发短信接口的知识,其中也会对java发送短信接口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

手机短信验证码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){
Map<String ,String map = new HashMap<String ,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("http://www.ibabo.cn:7788/msg/HttpSendSM", map, "UTF-8");
System.out.println(getValue);
return getValue;
}

java 通用短信接口思路

这个也没有什么复杂的。各个接口提供的API功能一致,只是程序上要设计的合理;
程序上对需要的短信发送功能进行封装,就是说,在平台上只有平台定义的发送方法或者类,那如何把这些不同的接口API集合起来,那是否可以设计成可配置的功能,比如你要变更短信猫的接口,只是简单的把短信猫所提供的JAR导入的到平台,把需要的功能方法(发送、接收、回执等)用可变的配置机制,把相关的函数方法配置到文件中。这样不就可以了;

短信接口是什么东西?

我来给你介绍一下短信接口就是短信SDK、API,以下就是我编辑的java短信接口,已经测试请求步骤。

单条短信接口:此接口为客户发送单条短信提供支持

安全接口

安全接口的数据传输经过加密、压缩,能够保障数据传输安全,如果有安全性要求,建议选用安全接口;

安全接口所接收、响应的数据,均经过AES加密,在数据加密前允许使用gzip算法压缩数据。

数据加密方式:AES;

加密算法:AES/ECB/PKCS5Padding;

压缩算法:gzip 【建议进行数据压缩】;

请求

链接

http://ip:port/inter/sendSingleSMS

参数

参数类型传输方式描述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,对接接口并测试

步骤四:测试通过,正式上线,充值使用

用Java调用短信接口给手机发送短信怎么写代码??接口已经有了,是一个url.

那你要做的就是向这个URL发送数据就好java开发短信接口,给个例子java开发短信接口

public   class  Httptest1  {
 8  
 9       public   static   void  main(String[] args)  {
10  
11         URL url  =   null ;
12         HttpURLConnection conn  =   null ;
13         OutputStream outStream  =   null ;
14         InputStream inStream  =   null ;
15         
16           try   {
17             url  =   new  URL( " cgi-bin/mailinterface " );
18             conn  =  (HttpURLConnection) url.openConnection();
19             conn.setDoOutput( true );
20             conn.setDoInput( true );
21  
22             String sendXml  =   " <?xml version=\ " 1.0 \ "  encoding=\ " UTF - 16 \ " ?<!DOCTYPE SigMailCommand SYSTEM \ " SigMail.dtd\ " " ;  // XML数据     
23              sendXml  +=   " <SigMailCommand Name=\ " checkuser\ " <Param Name=\ " domainname\ " test.com.cn</Param " ;
24             sendXml  +=   " <Param Name=\ " username\ " admin</Param</SigMailCommand " ;
25  
26             outStream  =  conn.getOutputStream();
27  
28              // 准备通过CONN对象写入XML数据 
29              BufferedWriter bw  =   new  BufferedWriter( new  java.io.OutputStreamWriter(outStream,
30              " UTF-16 " ));
31             bw.write(sendXml);
32             bw.flush();
33             bw.close();
34             
35              // DataOutputStream dataOutStream = new DataOutputStream(outStream);
36              // dataOutStream.writeChars(xml);
37              // dataOutStream.flush();
38              // dataOutStream.close();
39             
40  
41              // 准备通过CONN对象读取返回的XML数据 
42  
43             inStream  =  conn.getInputStream();
44             StringBuffer returnXml  =   new  StringBuffer( "" );
45             BufferedReader rd  =   new  BufferedReader( new  InputStreamReader(inStream,
46                      " UTF-16 " ));
47               for  (String line  =   null ; (line  =  rd.readLine())  !=   null ;)  {
48                 returnXml.append(line);
49             } 
50             System.out.println(returnXml.toString());
51             rd.close();
52          }   catch  (IOException ex)  {
53             ex.printStackTrace();
54          } finally {
55               try   {
56                  if  (outStream  !=   null )
57                     outStream.close();
58                  if  (inStream  !=   null )
59                     inStream.close();
60                  if  (conn  !=   null )
61                     conn.disconnect();
62              }   catch  (IOException e)  {
63                  //  TODO 自动生成 catch 块 
64                  e.printStackTrace();
65             } 
66         } 
67  
68     } 
69  
70 }

java怎么开通短信验证码登录功能?

实现jiava短信验证码可以按下面的步奏进行:
1、首先,找到一个支持Java语言的接口短信平台。
2、接着下载接口文档,和自己的开发平台进行对接。
3、注意在对接之前测试一下短信的速度,一旦对接好想换就比较麻烦,之前就吃过这个亏,最后有个朋友介绍我去短信网。
4、如果要购买的话,一定要多测试几家。
如果在碰到有疑问的地方一定要和技术或者客服多多沟通。 关于java开发短信接口和java发送短信接口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 java开发短信接口的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java发送短信接口、java开发短信接口的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:流出接口测试用例(接口的测试用例一般都怎么写)
下一篇:bdm接口电路设计(bdm接口示意图)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~