package com.cku.sms; import java.io.IOException; import java.util.Date; import java.util.TreeMap; import org.apache.commons.httpclient.HttpException; import com.cku.core.ZAErrorCode; import com.cku.core.ZAException; import com.cku.util.DateUtils; import com.cku.util.Debugger; import com.cku.util.HttpClientUtil; import com.cku.util.HttpResult; import com.cku.util.MD5Generator; public class SmsCode { public static void publishToUCPASS(String phone, String[] params) throws HttpException, IOException, ZAException { String url = "http://www.ucpaas.com/maap/sms/code"; TreeMap paramMap = new TreeMap(); String appId = "2c36af85e71e4e29a9e36f0eeb7f37f6"; String accountId = "e9f1269da05dbc97eba2fb9512359bb1"; String authToken = "9d4ead73f30ff46b01319e9883f64f69"; String templateId = "20143"; String timestamp = DateUtils.formatDate(new Date(), "yyyyMMddHHmmssSSS"); String sign = MD5Generator.generate(accountId + timestamp + authToken); paramMap.put("sid", accountId); paramMap.put("appId", appId); paramMap.put("time", timestamp); paramMap.put("sign", sign); paramMap.put("to", phone); paramMap.put("templateId", templateId); StringBuilder sb = new StringBuilder(); for (int i = 0; i < params.length; ++i) { sb.append(params[i]); if (i < params.length - 1) { sb.append(","); } } paramMap.put("param", sb.toString()); HttpResult hr = HttpClientUtil.get(null, url, paramMap); Debugger.doAssert(hr.getResultCode() == 200, ZAErrorCode.ZA_ERC_INVALID_STATUS, "Failed to get sms code(ucpass)-%s", hr.getResponseBody()); } public static void main(String[] args) throws HttpException, IOException, ZAException { String params[] = { "123456", "10" }; publishToUCPASS("15210337190", params); } }