短信接口-- 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;    }
相關文章
相關標籤/搜索