时间:2020-11-14 11:35:31 | 栏目:JAVA代码 | 点击:次
基于创蓝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(); } } }
总结