1、今天羣裏有位朋友問我有沒有關於調用http接口的kettle 示例,我下意識的去翻我的公衆號推文,愣是沒找到。果斷開始擼。
2、本次演示流程通過調用接口【網易雲音樂隨機歌曲】,然後解析返回的數據,接口信息如下圖所示:
3、本次演示流程通過調用接口【網易雲音樂隨機歌曲】,然後解析返回的數據,流程設計信息如下圖所示:
1)步驟【生產記錄】驅動測試流程。
2)步驟【HTTP post】發起請求。
3)步驟【解析result】解析第一層json數據。
4)步驟【result日誌】記錄解析result字段信息,方便調試。
5)步驟【解析data】解析第二層json數據。
4)步驟【data日誌】記錄解析data字段信息,方便調試。
4、步驟【HTTP post】步驟配置-General,如下圖所示:
1)URL:調用地址,可以直接寫死或者通過變量獲取。
2)Accept URL from field?:如果選中,則必須指定從哪個字段檢索URL。
3) URL field name:如果前面的選項被選中,這裏就是您指定URL字段的地方。
4)Encoding:文件訪問的編碼標準。
5)Request entity field:字段的名稱將包含POST請求。啓用時,“Post a file”選項將檢索該字段中命名的文件,並將該文件的內容發佈。
6)Post a file:如果在“請求實體字段”中定義了文件,則如果選中此選項,其內容將被髮布。目前,“請求實體字段”必須填寫才能使“發佈文件”正常工作。選擇“發佈文件”並在“主體參數”下指定字段,但沒有爲“請求實體字段”(文件名的位置)選擇值,將會靜默失敗。
7)Connection timeout:設置創建連接超時時間(默認爲10000毫秒)。
8)Socket timeout:設置讀取socket數據超時時間(默認爲10000毫秒)。
9)Connection close wait time:定義連接關閉後的等待時間(單位爲毫秒),默認值爲-1,表示使用操作系統的默認等待時間(通常爲2分鐘)。
背景信息:每行打開一個連接,並將其保持在所謂的TIME-WAIT狀態一段特定的時間。大量(可能是成千上萬個)處於TIME-WAIT狀態的連接會引入顯着的內存開銷。此選項可以通過減少關閉連接保持在TIME-WAIT狀態的時間來減少這種內存開銷。
10)Result field name:返回結果字段名稱,可自定義,這裏設置爲result。
11)HTTP status code field name:響應http狀態碼字段名稱,可自定義。
12)Response time (milliseconds) field name:響應時間字段名稱,可自定義。
13)HTTP login:如果此表單需要身份驗證,則此字段應包含用戶名。
14)HTTP password:如果此表單需要身份驗證,則此字段應包含與用戶名對應的密碼。
15)Proxy host:代理服務器的主機名或 IP 地址,如果你使用代理的話。
16)Proxy port:代理服務器的主機端口,如果你使用代理的話。
5、步驟【HTTP post】步驟配置-Fields,Fields 標籤定義了 HTTP 請求頭和請求體的參數,如下圖所示:
1)Body (Header) Parameters
如果你在“常規”標籤中填寫了 URL 和其他必要的細節,你可以使用“獲取值”按鈕來預填充這裏的字段。請求體參數用於 POST 和 PUT 操作。
2)Query Parameters
如果你在“常規”標籤中填寫了 URL 和其他必要的細節,你可以使用“獲取值”按鈕來預填充這裏的字段。查詢參數在 URL 中指定,可以在任何 HTTP 方法中使用。
6、如下是使用JSON輸入分別解析reult、data字段的主要配置,這裏不做過多講述,不熟悉JSON輸入的可以查看之前的文章。