您可以通過控制臺添加header的響應提取并用于下一個API。
1.登錄。
2.在控制臺左側導航欄場景管理中,選擇所需的場景并單擊右側的【編輯 】。
3.在場景配置頁面,切換到【響應提取】,打開【啟用響應提取】開關,點擊【添加】,選擇內容類型,并配置提取規則。

| 參數 | 參數說明 |
|---|---|
| 變量名稱 | 變量的名稱,命名必須唯一,響應提取的值賦予此變量。 |
| 內容類型 | 響應提取內容的類型,支持body:text、header、響應碼、body:json。 |
| 正則表達式 | 支持使用正則表達式對內容進行提取,詳細請參見正則表達式。 |
| 第幾個匹配項 | 在正則表達式已提取的內容中,獲取第幾個匹配的內容。取值范圍:正整數。 |
| 表達式取值 | 表示解析到的第幾個子表達式的值。取值范圍:自然數。 |
| 缺省值 | 提取失敗時的默認值。 |
| 條件表達式 | 當提取的內容類型為body:json時,可通過條件表達式對內容進行提取,詳細請參見條件表達式。 |
4.在同任務下,某API提取出來的變量名稱(假設為test1),可以給該API后面的所有API使用,支持在url、Header、Body中使用(注意:Header和Body的key不支持參數引用),操作如下:
1)在url位置末尾處輸入
,在彈出的選擇參數對話框選擇響應提取,下拉選擇參數名稱,單擊確認即可,也可以直接手動輸入
{test1}。

2)在Body定義位置輸入
,在彈出的選擇參數對話框選擇響應提取,下拉選擇參數名稱,單擊確認即可,也可以直接手動輸入
{test1}。


3)在Header定義位置輸入
,在彈出的選擇參數對話框選擇響應提取,下拉選擇參數名稱,單擊確認即可,也可以直接手動輸入
{test1}。

5.含有響應提取變量的API接口,不允許API調試,可選擇調試場景,查看提取的響應變量。


正則表達式
1)常用正則表達式介紹。
| 正則表達式 | 說明 | 響應示例 | 匹配結果 |
|---|---|---|---|
| (\d+) | 匹配非負整數 | abTV1ttiu6RTed9WEqp4U | 1 6 9 4 |
| ([A-Za-z]+) | 匹配由26個英文字母組成的字符串 | abTV1ttiu6RTed9WEqp | abTV ttiu RTed WEqp |
| ([A-Za-z0-9]+) | 匹配由數字和26個英文字母組成的字符串 | abTV1ttiu6RTed9_iop | abTV1ttiu6RTed9 iop |
| (\w+) | 匹配由數字、26個英文字母或者下劃線組成的字符串 | abTV1ttiu6R_iop:tian | abTV1ttiu6R_iop tian |
![]() |
匹配email地址 | dc_iop:tian@abc.com | tian@abc.com |
2)"token"\s*:\s*"(.*?)":獲取token值。
響應示例:
{"info": {"name":
"張三","uid":
"100","source": 10,"source_uid":
"123456","access_token":
"abc123","ctyun_user_id":
"abcdefg","token":
"ab1cD_e2Fgh3iGklmno4pqrsT6uvw7Yz.Eab1cD_e2Fgh3iGklmno4pqrsT ","identity":
-1},"status": {"code": 0,"message":
"ok"}}
匹配結果:ab1cD_e2Fgh3iGklmno4pqrsT6uvw7Yz.Eab1cD_e2Fgh3iGklmno4pqrsT
配置示例:

3)userid:(.
) userid:(.
) :多表達式取值。
響應示例:
userid:11 userid:12
userid:21 userid:22
userid:31 userid:32
匹配結果:
| 11 | 12 |
|---|---|
| 21 | 22 |
| 31 | 32 |
配置示例:

4)(ab|ac)+ :由多個ab或者ac匹配。
響應示例:ababdacac
匹配結果:
| 第1個匹配項,表達式取值1或0 | 第2個匹配項,表達式取值1或0 |
|---|---|
| ab | ac |
| abab | acac |
配置示例:


條件表達式
當提取內容類型為Body:json時,支持條件表達式,響應json示例:
{
"name": {"first": "Tom", "last": "Anderson"},
"age":37,
"children": ["Sara","Alex","Jack"],
"fav.movie": "Deer Hunter",
"friends": [
{"first": "Dale", "last": "Murphy", "age": 44, "nets": ["ig", "fb", "tw"]},
{"first": "Roger", "last": "Craig", "age": 68, "nets": ["fb", "tw"]},
{"first": "Jane", "last": "Murphy", "age": 47, "nets": ["ig", "tw"]}
]
}
1)基礎用法介紹。
| 條件表達式 | 匹配結果 |
|---|---|
| name.last | Anderson |
| age | 37 |
| children | ["Sara","Alex","Jack"] |
| children.# | 3 |
| children.1 | Alex |
| child*.2 | Jack |
| c?ildren.0 | Sara |
![]() |
Deer Hunter |
| friends.1 | {"first": "Roger", "last": "Craig", "age": 68, "nets": ["fb", "tw"]} |
| friends.#.first | ["Dale","Roger","Jane"] |
| friends.1.last | Craig |
2)高級用法介紹。
| 條件表達式 | 匹配結果 |
|---|---|
| friends.#(last=="Murphy").first | Dale |
| friends.#(last=="Murphy")#.first | ["Dale","Jane"] |
| friends.#(age>45)#.last | ["Craig","Murphy"] |
| friends.#(first%"D*").last | Murphy |
| friends.#(first!%"D*").last | Craig |
| friends.#(nets.#(=="fb"))#.first | ["Dale","Roger"] |

