【基于创蓝253云通讯平台的接口调用demo,其他平台的可以参考修改】
package com.bcloud.msg.http;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URLDecoder;
importorg.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
importorg.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.URI;
importorg.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 */ publicstatic String batchSend(String url, String account, String pswd, String mobile,String msg, booleanneedstatus, String extno) throws Exception { HttpClientclient = new HttpClient(); GetMethodmethod = new GetMethod(); try{ URIbase = new URI(url, false); method.setURI(newURI(base, "HttpBatchSendSM", false)); method.setQueryString(newNameValuePair[] { newNameValuePair("account", account), newNameValuePair("pswd", pswd), newNameValuePair("mobile", mobile), newNameValuePair("needstatus", String.valueOf(needstatus)), newNameValuePair("msg", msg), newNameValuePair("extno", extno), }); intresult = client.executeMethod(method); if(result == HttpStatus.SC_OK) { InputStreamin = method.getResponseBodyAsStream(); ByteArrayOutputStreambaos = new ByteArrayOutputStream(); byte[]buffer = new byte[1024]; intlen = 0; while((len = in.read(buffer)) != -1) { baos.write(buffer,0, len); } returnURLDecoder.decode(baos.toString(), "UTF-8"); }else { thrownew Exception("HTTP ERROR Status: " + method.getStatusCode() +":" + method.getStatusText()); } }finally { method.releaseConnection(); }
}
}