import com.chinacreator.common.util.DESUtil; import com.chinacreator.common.util.URLUtil; import com.chinacreator.videoalliance.smc.util.SHAUtil; import com.sun.deploy.net.URLEncoder; import java.util.concurrent.CountDownLatch; public class Testunit { public static void main(String[] args) throws Exception{ send(); //query(); // parallelTesk(400, new Runnable() { // @Override // public void run() { // //System.out.println(getTimes()); // //HttpUtil.get("http://111.206.134.43:809/xsbusi/sms/send"); // try { // String result = URLUtil.get("http://111.206.134.43:809/xsbusi/sms/send") ; // System.out.println("result>>>>>>>>"+ result) ; // } catch (Exception e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // // } // }); } public static void send() throws Exception{ String url = "http://111.206.134.43:809/xsbusi/sms/send" ; String smsid="106550077614" ; String uid = "16773136322" ; String pwd = "wo6bslq2" ; String userid = DESUtil.encode(uid,pwd); String enUserid = URLEncoder.encode(userid,"utf-8"); String timestamp = System.currentTimeMillis()/1000+"" ; //String vars="{\"userid\":\"18673197465\", \"month\":\"07\",\"date\":\"16\"}"; String vars = "{\"code\":\"325632\"}" ; // 短信验证码 String contentid = "20200722001" ; //短信验证码 20200722001 String sign = SHAUtil.shaEncode(smsid+userid+timestamp+vars+contentid+pwd).toLowerCase() ; url = addParam(url, "smsid", smsid); url = addParam(url, "userid", enUserid); url = addParam(url, "timestamp", timestamp); url = addParam(url, "vars",URLEncoder.encode(vars,"utf-8")); url = addParam(url, "contentid",URLEncoder.encode(contentid,"utf-8")); url = addParam(url, "sign", sign); System.out.println("发送url>>>>>"+url); } public static void query() throws Exception{ String url = "http://111.206.134.43:809/xsbusi/sms/query" ; String smsid= "106550077614" ; String uid= "18673197465" ; String pwd = "wo6bslq2" ; String userid = DESUtil.encode(uid, pwd) ; String enUserid = URLEncoder.encode(userid,"utf-8"); String timestamp = System.currentTimeMillis() + ""; String taskid = "202007201455441363945"; // (smsid+userid+timestamp+taskid+密钥) String sign = SHAUtil.shaEncode(smsid+userid+timestamp+taskid+pwd).toLowerCase(); url = addParam(url, "smsid", smsid); url = addParam(url, "userid", enUserid); url = addParam(url, "timestamp", timestamp); url = addParam(url, "sign", sign); url = addParam(url, "taskid", taskid) ; System.out.println("查询url>>>>>"+url); String result = URLUtil.get(url); System.out.println("result>>>>>>>>"+ result) ; } public static String addParam(String url, String key, String value) { if (value == null) return url; if (url.indexOf("?") == -1) { url += "?"; } else { url += "&"; } return url + key + "=" + value; } /** * 高并发测试: * 创建threadNum个线程; * 执行任务task * @param threadNum 线程数量 * @param task 任务 */ public static void parallelTesk(int threadNum, Runnable task){ // 1. 定义闭锁来拦截线程 final CountDownLatch startGate = new CountDownLatch(1); final CountDownLatch endGate = new CountDownLatch(threadNum); /* // 2. 创建指定数量的线程 for (int i = 0; i { try { startGate.await(); try { task.run(); } finally { endGate.countDown(); } } catch (InterruptedException e) { } }); t.start(); }*/ // 3. 线程统一放行,并记录时间! //long start = System.nanoTime(); //System.out.println("start:"+start); startGate.countDown(); try { endGate.await(); } catch (InterruptedException e) { } //long end = System.nanoTime(); //System.out.println("end:"+end); // System.out.println("cost times :" +(end - start)*0.000000001d+"s"); } }