写了一个utils,关于用get,或者post 形式发送短信
/**
* Created by zhuo 2017/12/8.
* 发送短信
*/
public class SmsUtil {
protected static Logger logger = LoggerFactory.getLogger(SmsUtil.class);
private static String url = "";
private static String sn = "";
private static String pwd = "";
static{
logger.info("-进入短信发送类-");
PropertiesLoader config = new PropertiesLoader("sms.properties");
url = config.getProperty("url");
sn = config.getProperty("sn");
pwd = config.getProperty("pwd");
}
/**
* 发送短信(get)
* @param paramMap 参数map
* @return
*/
public static Boolean sendMessageGet(Map<String,String> paramMap)
{
try {
StringBuffer sb = new StringBuffer(url);
if(null!=paramMap)
{
sb.append("?");
sb.append("&sn="+sn);
sb.append("&pwd="+pwd);
for (Map.Entry<String, String> entry : paramMap.entrySet()) {
sb.append(entry.getKey());
sb.append("=");
sb.append(entry.getValue());
}
sb.append("&ext=&stime=&rrid=&msgfmt=");
}
// System.err.println(sb.toString());
URI uri = new URI(sb.toString());
HttpGet get = new HttpGet(uri);
HttpClient client = HttpClientBuilder.create().build();
//执行请求
HttpResponse response = client.execute(get);
int code = response.getStatusLine().getStatusCode();
if(code == 200)
{
logger.info("发送成功,状态码:"+code);
return true;
}else
logger.info("发送失败,状态码:"+code);
throw new Exception(String.valueOf(code));
}catch (Exception e)
{
e.printStackTrace();
return false;
}
}
/**
* 发送短信(post)
* @param map 参数map 手机号和content
* @return
*/
public static Boolean sendMessagePost(Map<String, String> map) {
try {
HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(url);
map.put("sn",sn);
map.put("pwd",pwd);
map.put("ext","");
map.put("stime","");
map.put("rrid","");
map.put("msgfmt","");
post.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
// String retStr = "";
List<BasicNameValuePair> formParams = new ArrayList<BasicNameValuePair>();
for (Map.Entry<String, String> entry : map.entrySet()) {
formParams.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
}
HttpEntity httpentity = new UrlEncodedFormEntity(formParams, "UTF-8");
//这种单独传字符串进去
post.setEntity(httpentity);
HttpResponse response = client.execute(post);
int code = response.getStatusLine().getStatusCode();
if (code == 200) {
logger.info("发送成功,状态码:"+code);
// HttpEntity entity = response.getEntity();
// retStr = EntityUtils.toString(entity);
return true;
} else{
logger.info("发送失败,状态码:"+code);
throw new Exception(String.valueOf(code));
}
}catch (Exception e)
{
e.printStackTrace();
return false;
}
}
public static void main(String[] args) {
//post调用 群发 手机号和content一一对应
try {
Map<String,String> map = new HashMap<String,String>();
map.put("mobile","xxxxxxxxxxx");
map.put("content","测试");
Boolean msg = sendMessagePost(map);
System.err.println(msg);
}catch (Exception e)
{
e.printStackTrace();
}
}
}