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

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

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/api/data

0e1b0441-16db-4c9a-af91-54fe8465ffde

2)代码如下:

from flask import Flask, jsonify, request,send_fileapp = Flask(__name__)@app.route('/api/data', methods=['POST'])
def receive_data():# 使用 request.json 获取 POST 请求中的 JSON 数据data_json = request.jsonresponse_data = {'message': 'Data received successfully!','data': data_json}return jsonify(response_data)
if __name__ == '__main__':# 启用 HTTPS,指定证书和私钥文件的路径app.run(debug=True, host='0.0.0.0', port=443, ssl_context=('cert.pem', 'key.pem'))

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

4、设计流程

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

2)Http Post Plus,采用httppost方式调用http/或者https接口,本次演示调用https接口。

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

e85cea5d-66fa-4e6e-bdd8-227719fe48a4

 4)Http Post Plus设置

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

2025/08/04 21:18:39 - Http Post Plus.0 - ERROR (version 9.3.0.0-428, build 9.3.0.0-428 from 2022-04-12 04.56.25 by buildguy) : !HTTP.ErrorInStepRunning!
2025/08/04 21:18:39 - Http Post Plus.0 - 无法从[https://127.0.0.1:443/api/data]读取结果
2025/08/04 21:18:39 - Http Post Plus.0 - sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

9b9e5c29-1149-4e28-a56b-b4ed0acd9de3

勾选useSSL,继续测试,https接口成功调用,另外原始http post插件响应结果中有中文时会出现乱码,http post plus插件也解决了中文乱码问题。

f71bc911-36e8-43ce-a172-d6e1101a6821

 5、其他功能

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

写在最后

Http client plus和http post plus插件可以完美解决调用调用https get和post接口问题以及文件流下载问题,你还遇到http的说明问题,欢迎评论区留言探讨。

image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92596.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

剑指offer第2版——面试题2:实现单例

文章目录一、题目二、考察点三、答案3.1 C11写法3.2 C98写法(线程安全只存在于懒汉模式)3.2.1 小菜写法3.2.2 小菜进阶写法3.2.3 中登写法3.2.3 老鸟写法四、扩展知识4.1 饿汉模式和懒汉模式的区别4.1.1 饿汉模式(Eager Initialization&#…

OpenAI开源大模型gpt-oss系列深度解析:从120B生产级到20B桌面级应用指南

引言:OpenAI开源里程碑,AI民主化加速到来 2025年8月,OpenAI正式宣布开源其两款重磅大语言模型——gpt-oss-120b(1200亿参数生产级模型)和gpt-oss-20b(200亿参数桌面级模型),引发全球…

本地部署文档管理平台 BookStack 并实现外部访问( Windows 版本)

BookStack 是一款专注于书籍、文档管理的开源平台,它界面设计直观简洁,功能强大且易于使用,允许用户创建、组织和分享文档资料,特别适合用于构建内部文档系统、知识库或公开的文档站点。本文将详细介绍如何在 Windows 系统本地部署…

VS Code编辑器

实际上,‌Visual Studio Code(简称VS Code)‌是由微软开发的免费、开源、跨平台的代码编辑器,支持多种编程语言和框架,广泛应用于现代Web和云应用开发。这也是个编辑器,可能是继 GitHub 的 Atom 之后的一枝…

自动化测试篇--BUG篇

目录 一.软件测试的生命周期 二.bug是什么? 三.如何描述一个bug? 四.bug的级别 五.bug的生命周期 六.测试与开发产生争执怎么办?(重要!!!) 一.软件测试的生命周期 软件测试人员…

Solidity智能合约基础

基础学习使用 remix:ide Remix - Ethereum IDE evm:ethreum virtual machine evm字节码 强类型脚本语言 compile >evm bytescode >evm hello的样例 声明的关键字:contract // SPDX-License-Identifier: MIT pragma solidi…

Unity跨平台超低延迟的RTSP/RTMP播放器技术解析与实战应用

✳️ 引言:为什么说 Unity 中的视频能力是“可视化神经元”? 随着“可视化 实时性”成为工业数字化的关键支撑,Unity 正从传统游戏引擎,演进为数字孪生系统、智能机器人中控、虚拟交互平台、XR 可视引擎等领域的底层核心。它不再…

python学智能算法(三十三)|SVM-构建软边界拉格朗日方程

【1】引用 在前序学习进程中,我们初步了解了SVM软边界,今天就更进一步,尝试构建SVM软边界的拉格朗日函数。 【2】基本问题 在SVM软边界中,我们已经获得此时的最优化几何距离的表达式: fmin⁡12∣∣w∣∣2C∑i1nξif…

【YOLOv5】

Focus模块:早期再yolov5版本提出,后期被常规卷积替换,作用是图像进入主干网络之前,进行隔行隔列采样,把空间维度堆叠到通道上,减少计算量。 SPPF:SPP的改进版本,把SPP的不同池化核改变为K 5 的…

Pytest项目_day05(requests加入headers)

headers 由于每个请求都需要加入一些固定的参数,例如:cookies、user-agent,那么将这些固定参数放入URL或params中会显得很臃肿,因此一般将这些参数放在request headers中headers的反爬作用 在豆瓣网站中,如果我们不加入…

安全引导功能及ATF的启动过程(四)

安全引导功能及ATF的启动过程(四) ATF中bl31的启动 在bl2中触发安全监控模式调用后会跳转到bl31中执行,bl31最主要的作用是建立EL3运行态的软件配置,在该阶段会完成各种类型的安全监控模式调用ID的注册和对应的ARM核状态的切换&am…

从手工到智能决策,ERP让制造外贸企业告别“数据孤岛“降本增效

在全球化竞争加剧的当下,制造型外贸企业正面临订单碎片化、供应链复杂化、合规风险上升等多重挑战。数字化转型已成为企业突破增长瓶颈、构建核心竞争力的必选项。然而,许多企业在推进过程中因选型不当陷入“系统孤岛”“数据失真”“流程低效”等困境。…

DMETL简单介绍、安装部署和入门尝试

一、DMETL的介绍1.1 概述我们先来简单了解一下DMETL。DMETL是什么?说的简单一点,DMETL一款数据处理与集成平台;从功能来说,那DMETL就是对数据同步、数据处理以及数据交换共享提供一站式支持的平台;从它的意义来说&…

NLP 人工智能 Seq2Seq、K-means应用实践

基于Java和人工智能的Web应用 以下是基于Java和人工智能的Web应用实例,涵盖自然语言处理、计算机视觉、数据分析等领域。这些案例结合了沈七星AI或其他开源框架(如TensorFlow、Deeplearning4j)的实现思路,供开发参考: 自然语言处理(NLP) 1. 智能客服系统 使用Java的Op…

Docker 从入门到实战(一):全面解析容器化革命 | 2025 终极指南

2025 年,全球容器市场规模突破 200 亿美元,超过 80% 的企业生产环境运行在容器之上。掌握 Docker 已成为开发、运维乃至架构师的核心竞争力。本文带你彻底搞懂 Docker 的底层逻辑与核心价值! 一、Docker 是什么?为什么它能改变世界? 想象一下:你开发时运行完美的 Pytho…

Lazada东南亚矩阵营销破局:指纹手机如何以“批量智控+数据中枢”重构运营生态

在Lazada以“超级APP”战略渗透东南亚6国市场的进程中,商家正陷入一个结构性矛盾:如何用有限人力高效管理10个国家账号,却不被数据孤岛拖垮营销效率,更不因账号关联风险引发平台封禁?传统多账号运营依赖“人手一台设备…

操作系统: 线程(Thread)

目录 什么是线程(Thread)? 线程与进程之间的关系 线程调度与并发执行 并发(Concurrency)与并行(Parallelism) 多线程编程的四大核心优势(benefits of multithreaded programmin…

Uber的MySQL实践(一)——学习笔记

MySQL 是Uber数据基础设施的核心支柱,支撑着平台上大量关键操作。Uber 拥有一套庞大的 MySQL 集群,如何构建一个控制平面来管理如此大规模的 MySQL 集群,并同时确保零宕机、零数据丢失是一个十分有挑战性的问题。下面重点介绍 Uber 的 MySQL …

腾讯云EdgeOne产品深度分析报告

一、产品概述腾讯云EdgeOne是腾讯云推出的新一代边缘安全加速平台,集成内容分发网络(CDN)、Web应用防火墙(WAF)、DDoS防护、Bot管理、API安全及边缘计算能力,致力于为企业提供一站式安全加速解决方案。该平…

Spring Boot 优雅配置InfluxDB3客户端指南:@Configuration + @Bean + yml实战

前言 想用Java玩转InfluxDB 3?要是还靠写main函数硬编码配置,那就像穿着睡衣开正式会议,实在有点不靠谱。现代Spring开发套路讲究配置和代码分离,讲究优雅和灵活。用@Configuration配合@Bean注解,再加上yml配置文件集中管理连接信息,简直是为代码打扮一身西装,既整洁又…