java短信接口_短信接口-- java

客户接口部分提供https 和 WebService(目前只支持提交短信) 方式的接口,客户可以根据需求选择相应接口,接口编码方式默认采用UTF-8

发送规则:

同一个号码,发送内容带有(验证码),3分钟之内只能3条,

超过3条,系统会默认为(恶意注册)

同一个号码,系统默认一天之内只能发送10条信息,超过

10条会超限失败(特殊号码、或特殊客户需要找客服处理)

注:短信计费条数跟短信的字数有关,一般的短信70个字计费一条。超过70个字就划分为长短信,67个字计费一条,例如;71字的短信就是长短信计费2条,134个字也是计费2条(67*2)。135个字计费3条,依次类推。

第一章  短信发送接口

1.1 请求地址

请求地址是客户接口程序调用时请求的url地址,采用的是https post 接口,地址是

https://dx.ipyy.net/sms.aspx 对应UTF-8

https://dx.ipyy.net/smsGBK.aspx 对应GB2312

https://dx.ipyy.net/smsJson.aspx 对应UTF-8(返回值为json格式)

https://dx.ipyy.net/ensms.ashx 对应UTF-8(加密传输,使用json)

入口地址一般不会发生变化,当发生变化的时候,会通知接口用户

private static CloseableHttpClient client;

public String sendVerificationCode(String phone) {

final String Url = "https://dx.ipyy.net/ensms.ashx";

//用户ID。

String userId = "59833";

//用户账号名

String userName = "9M00031";

//接口密码

String password = "9M0003121";

//目标手机号,多个以半角","分隔

String mobile = phone;

String CodeStr = String.valueOf((new Random().nextInt(899999) + 100000));

//信息内容

String content = "【xxxxxx】您的验证码是:" + CodeStr + ",有效时间五分钟";

//扩展号,没有请留空

String ext = "";

//即时短信请留空,定时短信请指定,格式为:yyyy-MM-dd HH:mm:ss

String sendTime = "";

String stamp = new SimpleDateFormat("MMddHHmmss").format(new Date());

String secret = MD5.GetMD5Code(password + stamp).toUpperCase();

try {

JSONObject jsonObj = new JSONObject();

jsonObj.put("UserName", userName);

jsonObj.put("Stamp", stamp);

jsonObj.put("Secret", secret);

jsonObj.put("Moblie", mobile);

jsonObj.put("Text", content);

jsonObj.put("Ext", ext);

jsonObj.put("SendTime", sendTime);

//Des加密,base64转码

String text64 = DesHelper.Encrypt(jsonObj.toString(), password);

client = SSLClient.createSSLClientDefault();

HttpPost post = new HttpPost(Url);

post.setHeader("Content-type", "application/x-www-form-urlencoded;charset=utf-8");

List nvps = new ArrayList();

nvps.add(new BasicNameValuePair("UserId", userId));

nvps.add(new BasicNameValuePair("Text64", text64));

post.setEntity(new UrlEncodedFormEntity(nvps));

HttpResponse response = client.execute(post);

HttpEntity entity = response.getEntity();

String returnString = EntityUtils.toString(entity, "UTF-8");

// System.out.println(returnString);

EntityUtils.consume(entity);

} catch (Exception ex) {

// System.out.println(ex.getMessage());

}

return CodeStr;

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值