Java如何调取创蓝253短信验证码

基于创蓝253短信服务平台的Java调用短信接口API

package com.bcloud.msg.http;

 

import java.io.ByteArrayOutputStream;

import java.io.InputStream;

import java.net.URLDecoder;

 

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.HttpStatus;

import org.apache.commons.httpclient.NameValuePair;

import org.apache.commons.httpclient.URI;

import org.apache.commons.httpclient.methods.GetMethod;

 

 

         /**

          *

          * @param url 应用地址,类似于http://ip:port/msg/

          * @param account 账号

          * @param pswd 密码

          * @param mobile 手机号码,多个号码使用","分割

          * @param msg 短信内容

          * @param needstatus 是否需要状态报告,需要true,不需要false

          * @return 返回值定义参见HTTP协议文档

          * @throws Exception

          */

         public static String batchSend(String url, String account, String pswd, String mobile, String msg,

                            boolean needstatus, String extno) throws Exception {

                   HttpClient client = new HttpClient();

                   GetMethod method = new GetMethod();

                   try {

                            URI base = new URI(url, false);

                            method.setURI(new URI(base, "HttpBatchSendSM", false));

                            method.setQueryString(new NameValuePair[] {

                                               new NameValuePair("account", account),

                                               new NameValuePair("pswd", pswd),

                                               new NameValuePair("mobile", mobile),

                                               new NameValuePair("needstatus", String.valueOf(needstatus)),

                                               new NameValuePair("msg", msg),

                                               new NameValuePair("extno", extno),

                                     });

                            int result = client.executeMethod(method);

                            if (result == HttpStatus.SC_OK) {

                                     InputStream in = method.getResponseBodyAsStream();

                                     ByteArrayOutputStream baos = new ByteArrayOutputStream();

                                     byte[] buffer = new byte[1024];

                                     int len = 0;

                                     while ((len = in.read(buffer)) != -1) {

                                               baos.write(buffer, 0, len);

                                     }

                                     return URLDecoder.decode(baos.toString(), "UTF-8");

                            } else {

                                     throw new Exception("HTTP ERROR Status: " + method.getStatusCode() + ":" + method.getStatusText());

                            }

                   } finally {

                            method.releaseConnection();

                   }

 

         }

}

posted @ 2018-04-03 09:35  创蓝253  阅读(813)  评论(0编辑  收藏  举报