Java群发营销短信DEMO示例代码

// 接口类型:互亿无线营销短信批量发送DEMO
// 账户注册:请通过该地址开通账户 http://user.ihuyi.com/

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.PostMethod;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import util.StringUtil;

public class sendsms {
	private static String Url = "http://api.ihuyi.com/sms-yx/v1/batchSend";
	
	public static void main(String [] args) {
		
		HttpClient client = new HttpClient(); 
		PostMethod method = new PostMethod(Url);
		client.getParams().setContentCharset("UTF-8");
		method.setRequestHeader("ContentType", "application/json;charset=UTF-8");

		// 需要修改的参数-开始
		String api_id = "sms-xxxxxxxx";
		String api_key = "xxxxxxxxxxxxxxxxxxx";
		String[] phone = {"1366197xxxx","1366197xxxx"};
		String sign_name = "互亿无线";
		int product_id = 1018;
		String content = new String("您好,短信内容,回T退订");
		// 需要修改的参数-结束

		long timest = System.currentTimeMillis() / 1000;
		String timestamp = "" + timest;
		String request_id = timestamp + (int)((Math.random()*9+1)*100000);

		// 生成sign方式一
//		Map<String, String> map = new HashMap<String,String>();
//		map.put("api_id", api_id);
//		map.put("api_key", api_key);
//		map.put("request_id", request_id);
//		map.put("timestamp", ""+timest);
//		String sign = StringUtil.getSign(map);
//		System.out.println(sign);

		// 生成sign方式二
		String sig = "api_id=" + api_id + "&api_key=" + api_key + "&request_id=" + request_id + "×tamp=" + timest;
		// System.out.println(sign);
		String sign = StringUtil.MD5Encode(sig).toLowerCase();

		JSONObject data = new JSONObject();
		data.put("api_id", api_id);
		data.put("signature", sign);
		data.put("phone", phone);
		data.put("sign_name", sign_name);
		data.put("request_id", request_id);
		data.put("timestamp", timest);
		data.put("product_id", product_id);
		data.put("send_time", "");
	    data.put("content", content);
		
	    // String arrStr = JSON.toJSONString(data);
	    String objStr = JSON.toJSONString(data);
	    System.out.println(data);
		method.setRequestBody(objStr);

		try {
			client.executeMethod(method);
			String SubmitResult =method.getResponseBodyAsString();
			// System.out.println(SubmitResult);
			JSONObject obj = JSON.parseObject(SubmitResult);		
			System.out.println(obj);
			if("OK".equals(obj.getString("code"))){
				System.out.println("短信提交成功");
			}else{
				 System.out.println("短信提交失败");
			}
		} catch (HttpException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally{
			// Release connection
			method.releaseConnection();
			// client.getConnectionManager().shutdown();
		}
		
	}


}