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
英文地址,請注明出處:http://en.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配置文件集中管理連接信息,簡直是為代碼打扮一身西裝,既整潔又…