短信接口调用

来源:互联网 发布:数据流量怎么打开不了 编辑:程序博客网 时间:2024/04/30 23:36
package com.util;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.URLEncoder;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 class HttpSender{private static String url = "";// 应用地址private static String account = "";// 账号private static String pswd = "";// 密码private static boolean needstatus = true;// 是否需要状态报告,需要true,不需要falseprivate static String extno = null;// 扩展码public static String batchSend(String mobile,String msg){try {return batchSend(url, account, pswd, mobile, msg,needstatus, extno, "");} catch (Exception e) {e.printStackTrace();}return "";}public static String batchSend(String url, String account, String pswd, String mobile, String msg,boolean needstatus, String product, 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("product", product),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 URLEncoder.encode(baos.toString(), "UTF-8");} else {throw new Exception("HTTP ERROR Status: " + method.getStatusCode() + ":" + method.getStatusText());}} finally {method.releaseConnection();}}}

0 0