长春网络营销网站,dedecms一键更新网站,推广方案设计,首页关键词排名场景#xff1a;kettle调用https接口#xff0c;跳过校验SSL。#xff08;有些公司内部系统之间的https的接口是没有SSL校验这一说#xff0c;无需使用用证书的#xff09; 解决方案#xff1a;自定义插件或者自定义jar包通过javascript调用https接口。
1、http post 步…场景kettle调用https接口跳过校验SSL。有些公司内部系统之间的https的接口是没有SSL校验这一说无需使用用证书的 解决方案自定义插件或者自定义jar包通过javascript调用https接口。
1、http post 步骤调用https接口无法通过ssl安全校验如下图所示 查看了kettle源码之后该步骤底层调用的是HTTPPOST类中的callHTTPPOST方法但是该方法并未处理https调用情况如下图所示 2、 使用REST client步骤调用https接口依然提示无法通过ssl安全校验如下图所示 查看了kettle源码之后该步骤底层调用的是Rest类中的callReset方法最新的源码中已经加入了参数ignoreSSL但是该参数并未暴露配置接口也许后续的版本后解决这个问题如下图所示 3、自定义jar包方式调用https接口总体流程设计如下图所示 1将自定义jar放到lib目录下。 2javascript脚本步骤调用自定义jar方式进而调用https接口如下图所示 3关键javascript代码如下
var httpUtil Packages.com.xiaojingang.xiaojingang_https.HttpUtil();
//这里注意参数body如果是json字符串的话这里自动转换为对象了
//索引这里要重新转换为字符串
var bodyStr body;
var result httpUtil.doRequest(url,bodyStr,method,10000,true);
4jar包中的忽略SSL校验的关键代码如下 private static SSLContext getIgnoreVerifySSL() {try {SSLContext sslContext SSLContexts.custom().loadTrustMaterial(new TrustStrategy() {Overridepublic boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {return true;}}).build();return sslContext;} catch (Exception e) {log.error(e.getMessage(),e);return null;}}