短信接口-- java

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

发送规则:app

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

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

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

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

注:短信计费条数跟短信的字数有关,通常的短信70个字计费一条。超过70个字就划分为长短信,67个字计费一条,例如;71字的短信就是长短信计费2条,134个字也是计费2条(67*2)。135个字计费3条,依次类推。
第一章  短信发送接口
1.1 请求地址
请求地址是客户接口程序调用时请求的url地址,采用的是https post 接口,地址是url

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

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

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

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<NameValuePair> nvps = new ArrayList<NameValuePair>();            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;    }
相关文章
相关标签/搜索