【基于创蓝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();
}
}
}