0755e98b1e0c7e71df5a7209debb19123a6ac8f7.svn-base 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. import com.chinacreator.common.util.DESUtil;
  2. import com.chinacreator.common.util.URLUtil;
  3. import com.chinacreator.videoalliance.smc.util.SHAUtil;
  4. import com.sun.deploy.net.URLEncoder;
  5. import java.util.concurrent.CountDownLatch;
  6. public class Testunit {
  7. public static void main(String[] args) throws Exception{
  8. send();
  9. //query();
  10. // parallelTesk(400, new Runnable() {
  11. // @Override
  12. // public void run() {
  13. // //System.out.println(getTimes());
  14. // //HttpUtil.get("http://111.206.134.43:809/xsbusi/sms/send");
  15. // try {
  16. // String result = URLUtil.get("http://111.206.134.43:809/xsbusi/sms/send") ;
  17. // System.out.println("result>>>>>>>>"+ result) ;
  18. // } catch (Exception e) {
  19. // // TODO Auto-generated catch block
  20. // e.printStackTrace();
  21. // }
  22. //
  23. // }
  24. // });
  25. }
  26. public static void send() throws Exception{
  27. String url = "http://111.206.134.43:809/xsbusi/sms/send" ;
  28. String smsid="106550077614" ;
  29. String uid = "16773136322" ;
  30. String pwd = "wo6bslq2" ;
  31. String userid = DESUtil.encode(uid,pwd);
  32. String enUserid = URLEncoder.encode(userid,"utf-8");
  33. String timestamp = System.currentTimeMillis()/1000+"" ;
  34. //String vars="{\"userid\":\"18673197465\", \"month\":\"07\",\"date\":\"16\"}";
  35. String vars = "{\"code\":\"325632\"}" ; // 短信验证码
  36. String contentid = "20200722001" ; //短信验证码 20200722001
  37. String sign = SHAUtil.shaEncode(smsid+userid+timestamp+vars+contentid+pwd).toLowerCase() ;
  38. url = addParam(url, "smsid", smsid);
  39. url = addParam(url, "userid", enUserid);
  40. url = addParam(url, "timestamp", timestamp);
  41. url = addParam(url, "vars",URLEncoder.encode(vars,"utf-8"));
  42. url = addParam(url, "contentid",URLEncoder.encode(contentid,"utf-8"));
  43. url = addParam(url, "sign", sign);
  44. System.out.println("发送url>>>>>"+url);
  45. }
  46. public static void query() throws Exception{
  47. String url = "http://111.206.134.43:809/xsbusi/sms/query" ;
  48. String smsid= "106550077614" ;
  49. String uid= "18673197465" ;
  50. String pwd = "wo6bslq2" ;
  51. String userid = DESUtil.encode(uid, pwd) ;
  52. String enUserid = URLEncoder.encode(userid,"utf-8");
  53. String timestamp = System.currentTimeMillis() + "";
  54. String taskid = "202007201455441363945";
  55. // (smsid+userid+timestamp+taskid+密钥)
  56. String sign = SHAUtil.shaEncode(smsid+userid+timestamp+taskid+pwd).toLowerCase();
  57. url = addParam(url, "smsid", smsid);
  58. url = addParam(url, "userid", enUserid);
  59. url = addParam(url, "timestamp", timestamp);
  60. url = addParam(url, "sign", sign);
  61. url = addParam(url, "taskid", taskid) ;
  62. System.out.println("查询url>>>>>"+url);
  63. String result = URLUtil.get(url);
  64. System.out.println("result>>>>>>>>"+ result) ;
  65. }
  66. public static String addParam(String url, String key, String value) {
  67. if (value == null)
  68. return url;
  69. if (url.indexOf("?") == -1) {
  70. url += "?";
  71. } else {
  72. url += "&";
  73. }
  74. return url + key + "=" + value;
  75. }
  76. /**
  77. * 高并发测试:
  78. * 创建threadNum个线程;
  79. * 执行任务task
  80. * @param threadNum 线程数量
  81. * @param task 任务
  82. */
  83. public static void parallelTesk(int threadNum, Runnable task){
  84. // 1. 定义闭锁来拦截线程
  85. final CountDownLatch startGate = new CountDownLatch(1);
  86. final CountDownLatch endGate = new CountDownLatch(threadNum);
  87. /* // 2. 创建指定数量的线程
  88. for (int i = 0; i <threadNum; i++) {
  89. Thread t = new Thread(() -> {
  90. try {
  91. startGate.await();
  92. try {
  93. task.run();
  94. } finally {
  95. endGate.countDown();
  96. }
  97. } catch (InterruptedException e) {
  98. }
  99. });
  100. t.start();
  101. }*/
  102. // 3. 线程统一放行,并记录时间!
  103. //long start = System.nanoTime();
  104. //System.out.println("start:"+start);
  105. startGate.countDown();
  106. try {
  107. endGate.await();
  108. } catch (InterruptedException e) {
  109. }
  110. //long end = System.nanoTime();
  111. //System.out.println("end:"+end);
  112. // System.out.println("cost times :" +(end - start)*0.000000001d+"s");
  113. }
  114. }