开发者论坛一周精粹(第七十二期)阿里云工具汇总 TCP连接异常诊断

开发者论坛每周选取精华内容总结,精选论坛优质贴,每周更新一期,方便大家阅读!
7272

elasticsearch watcher 钉钉告警问题求助 wajika
摘要:我参考文档,写了一个actions,但是有两个问题
1、如何取到告警的message内容?
2、返回的内容如何限制行数?
求助>>https://bbs.aliyun.com/read/591865.html

钉钉注册回调 java小白健
摘要:在注册钉钉回调事件的时候,使用钉钉提供的api但是tomcat一启动就会报这个错java.lang.NoClassDefFoundError: com/dingtalk/oapi/lib/aes/DingTalkEncryptException,这是jar包缺失的问题吗?大佬们工作中有遇到的话,给指点指点。万分感谢!
求助>>https://bbs.aliyun.com/read/591859.html

大话PHP的23种设计模式,全程高能无尿点 【转载】 云上珠玑
摘要:PHP设计模式有没有学会不知道但是撩妹二十三计倒是学会了.
赏析>>https://bbs.aliyun.com/read/591854.html

TCP连接异常付费诊断 zuijh
摘要:最近 偶尔会有SYN链接突然增多的情况, 经常早上8点开始 晚上9点结束(好像一个准点上班,加班到9点的人)
求助>>https://bbs.aliyun.com/read/591879.html

阿里云工具汇总 [持续整理中] 银时
摘要:Intellij IDEA 插件、Eclipse 插件、SDK、代码仓库
汇总>>https://bbs.aliyun.com/read/591884.html

阿里云的ECS IIS7 GZIP 开启了没效果 花海
摘要:谢谢大神指导下哪里还需要什么操作呢
解答>>https://bbs.aliyun.com/read/591856.html

阿里云域名快速申请免费ssl证书教程 51干警网
摘要:emmm,那样的话就不能快速的申请ssl证书了吗?
非也,域名一键申请ssl证书功能还有,现在跟随我的图文来看如何申请。
教程>>https://bbs.aliyun.com/read/591902.html

升级了带宽网站还是比较慢,没有变化 fushen0520
摘要:3个企业展示网站,1个ecshop系统,2个wordpress系统
缓存插件什么的都用了,cdn,全站加速,oss都用上了
这速度真是蜗牛一样的
分析>>https://bbs.aliyun.com/read/591906.html

Redirecting to /bin/systemctl restart sshd.service 51干警网
摘要:云服务器 ECS Linux CentOS 7 下重启服务不再通过 service 操作,而是通过 systemctl 操作。
命令>>https://bbs.aliyun.com/read/591911.html

备案一直不通过说涉及互联网金融 bcd77582588
摘要:求助,备案一直不通过,这个也能算是互联网金融?
解答>>https://bbs.aliyun.com/read/591866.html

请问怎么联系到阿里云备案部门如何投诉? epnz.com
摘要:我也做过很多次备案,都很顺利,可是这次,反反复复已经快一个月了,还在初审状态。
解释>>https://bbs.aliyun.com/read/591918.html

开发者论坛一周精粹最近5期↓↓↓
论坛一周精粹(第六十七期)>Https://bbs.aliyun.com/read/591414.html
论坛一周精粹(第六十八期)>Https://bbs.aliyun.com/read/591549.html
论坛一周精粹(第六十九期)>Https://bbs.aliyun.com/read/591745.html
论坛一周精粹(第七十期)>Https://bbs.aliyun.com/read/591746.html
论坛一周精粹(第七十一期)>Https://bbs.aliyun.com/read/592024.html
开发者论坛一周精粹历史汇总↓↓↓
https://bbs.aliyun.com/read/576572.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package com.yn.mh.ding; import com.alibaba.fastjson.JSONObject; import com.dingtalk.oapi.lib.aes.DingTalkJsApiSingnature; import com.dingtalk.open.client.ServiceFactory; import com.dingtalk.open.client.api.model.corp.JsapiTicket; import com.dingtalk.open.client.api.service.corp.CorpConnectionService; import com.dingtalk.open.client.api.service.corp.JsapiService; import com.yn.core.util.PropertiesUtil; import javax.servlet.http.HttpServletRequest; import java.net.URLDecoder; /** * AccessToken和jsticket的获取封装 */ public class AuthHelper { // 调整到1小时50分钟 public static final long cacheTime = 1000 * 60 * 55 * 2; /* * 在此方法中,为了避免频繁获取access_token, * 在距离上一次获取access_token时间在两个小时之内的情况, * 将直接从持久化存储中读取access_token * * 因为access_token和jsapi_ticket的过期时间都是7200秒 * 所以在获取access_token的同时也去获取了jsapi_ticket * 注:jsapi_ticket是在前端页面JSAPI做权限验证配置的时候需要使用的 * 具体信息请查看开发者文档--权限验证配置 */ private static final String GET_ACCESSTOKEN_URL="https://oapi.dingtalk.com/gettoken?corpid="+PropertiesUtil.getProperty("CORP_ID")+"&corpsecret;="+PropertiesUtil.getProperty("CORP_SECRET"); public static String getAccessToken() throws OApiException { //获取access_token的接口地址,有效期为7200秒 //1.获取请求url //2.发起GET请求,获取返回结果 JSONObject jsonObject=HttpHelper.httpGet(GET_ACCESSTOKEN_URL); //3.解析结果,获取accessToken String accessToken=""; if (null != jsonObject) { accessToken=jsonObject.getString("access_token"); //4.错误消息处理 if (0 != jsonObject.getInteger("errcode")) { int errCode = jsonObject.getInteger("errcode"); String errMsg = jsonObject.getString("errmsg"); try { throw new Exception("error code:"+errCode+", error message:"+errMsg); } catch (Exception e) { e.printStackTrace(); } } } return accessToken; } /** * 获取JSTicket, 用于js的签名计算 * 正常的情况下,jsapi_ticket的有效期为7200秒,所以开发者需要在某个地方设计一个定时器,定期去更新jsapi_ticket */ public static String getJsapiTicket(String accessToken) throws OApiException { JSONObject jsTicketValue = (JSONObject) FileUtils.getValue("jsticket", Env.CORP_ID); long curTime = System.currentTimeMillis(); String jsTicket = ""; if (jsTicketValue == null || curTime - jsTicketValue.getLong("begin_time") >= cacheTime) { ServiceFactory serviceFactory; try { serviceFactory = ServiceFactory.getInstance(); JsapiService jsapiService = serviceFactory.getOpenService(JsapiService.class); JsapiTicket JsapiTicket = jsapiService.getJsapiTicket(accessToken, "jsapi"); jsTicket = JsapiTicket.getTicket(); JSONObject jsonTicket = new JSONObject(); JSONObject jsontemp = new JSONObject(); jsontemp.clear(); jsontemp.put("ticket", jsTicket); jsontemp.put("begin_time", curTime); jsonTicket.put(Env.CORP_ID, jsontemp); FileUtils.write2File(jsonTicket, "jsticket"); } catch (Exception e) { e.printStackTrace(); } return jsTicket; } else { return jsTicketValue.getString("ticket"); } } public static String sign(String ticket, String nonceStr, long timeStamp, String url) throws OApiException { try { return DingTalkJsApiSingnature.getJsApiSingnature(url, nonceStr, timeStamp, ticket); } catch (Exception ex) { throw new OApiException(0, ex.getMessage()); } } /** * 计算当前请求的jsapi的签名数据<br/> * <p> * 如果签名数据是通过ajax异步请求的话,签名计算中的url必须是给用户展示页面的url * * @param request * @return */ public static String getConfig(HttpServletRequest request) { String urlString = request.getRequestURL().toString(); String queryString = request.getQueryString(); String queryStringEncode = null; String url; if (queryString != null) { queryStringEncode = URLDecoder.decode(queryString); url = urlString + "?" + queryStringEncode; } else { url = urlString; } String nonceStr = "abcdefg"; long timeStamp = System.currentTimeMillis() / 1000; String signedUrl = url; String accessToken = null; String ticket = null; String signature = null; String agentid = null; try { accessToken = AuthHelper.getAccessToken(); ticket = AuthHelper.getJsapiTicket(accessToken); signature = AuthHelper.sign(ticket, nonceStr, timeStamp, signedUrl); agentid = ""; } catch (OApiException e) { e.printStackTrace(); } String configValue = "{jsticket:'" + ticket + "',signature:'" + signature + "',nonceStr:'" + nonceStr + "',timeStamp:'" + timeStamp + "',corpId:'" + Env.CORP_ID + "',agentid:'" + agentid + "'}"; System.out.println(configValue); return configValue; } public static String getSsoToken() throws OApiException { String url = "https://oapi.dingtalk.com/sso/gettoken?corpid=" + Env.CORP_ID + "&corpsecret;=" + Env.SSO_Secret; JSONObject response = HttpHelper.httpGet(url); String ssoToken; if (response.containsKey("access_token")) { ssoToken = response.getString("access_token"); } else { throw new OApiException("Sso_token"); } return ssoToken; } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值