kettle插件-kettle http client plus插件,轻松解决https接口无法调用&文件流下载问题

场景:小伙伴在使用kettle调用https接口过程中无法正常调用,程序出错问题,今天演示下用自研插件轻松解决这个问题。

1、使用openssl 生成自签名证书

openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365

2、使用python 提供https接口

1)启动https服务,地址为https://127.0.0.1:443/ping

0b700ddc-a1e4-40d1-86cf-ae51671a299a

2)代码如下:

from flask import Flask

app = Flask(__name__)

@app.route('/ping')
def hello_world():
    return 'Hello, Java小金刚! This is an HTTPS interface.'

if __name__ == '__main__':
    # 启用 HTTPS,指定证书和私钥文件的路径
    app.run(debug=True, host='0.0.0.0', port=443, ssl_context=('cert.pem', 'key.pem'))

3、将kettle-httpclient-plugin-1.0插件放到kettle的plugins目录下面,重启spoon。

4、设计流程

1)生成记录步骤,驱动流程

2)Http客户端Plus,采用http get方式调用http/或者https接口,本次演示调用https接口。

3)写日志,打印https接口返回内容。

0ab6511e-ea66-4df4-a389-dfdd7b8bcdb8

 4)Http客户端Plus设置

输入url https://127.0.0.1:443/ping,直接调用接口报错,错误信息如下

2025/07/31 22:06:36 - Http客户端 Plus.0 - ERROR (version 9.3.0.0-428, build 9.3.0.0-428 from 2022-04-12 04.56.25 by buildguy) : 由于错误, 该步骤不能继续.
2025/07/31 22:06:36 - Http客户端 Plus.0 - 不能获取 URL https://127.0.0.1:443/ping 的内容
2025/07/31 22:06:36 - Http客户端 Plus.0 - sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

984922c8-2349-4c23-b6b6-5c53ba8a6c6c

 勾选useSSL,继续测试,https接口成功调用

cef64998-0d09-4931-a766-9a48c106de8f

 5、其他功能

本插件除了可以绕过https接口中的ssl校验,还可以下载二进制流文件,重试等功能。

写在最后

Http client plus插件已来,http post plus插件还会远吗?

image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangjin1222

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值