extract提取
注:extract 应与request保持同一层级
- 响应行,响应头;通过 extract 提取响应得数据并存储到变量中,如下
注:变量名得前面要有 -# 获取响应数据: 响应行(200,ok)\响应头- config: name: 测试百度网站 base_url: 感谢分享特别baidu感谢原创分享者- test: name: 接口名称 百度接口 request: url: / method: GET extract: # 提取值存储到变量中 - code: status_code # 响应码 - info: reason # ok - header_Content: headers.Content-Type # 响应头部 validate: - eq: [$code,200] # 引用变量 $变量名 - eq: [$info,"OK"] - eq: [$header_Content,'text/html']
- 获取响应正文
extract 解析响应正文(支持正则)
通过 extract 提取响应正文得数据并存储到变量中(可使用正则提取),如下:
注:如果断言为中文,加上headers头部得Accept-Language即可,后面有专门写得中文乱码解码得问题解决# 获取响应数据 响应正文(支持正则)- config: name: 百度 base_url: 感谢分享特别baidu感谢原创分享者- test: name: 百度主页 request: url: / method: GET headers: # 如果断言为中文得话,加上headers得Accept-Language即可 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 extract: - title: <title>(.+?)</title> # 可以使用正则表达式提取 validate: - eq: [$title,"百度一下,你就知道"]
extract 解析响应正文(支持json)
通过 extract 提取响应正文得数据并存储到变量中(提取json数据),格式以content为根节点:content.key.key.key ;如下:
注:可使用json在线解析网站对json进行解析,更加直观# 获取响应数据 响应正文 (支持json)- config: name: 用户标签管理 base_url: 感谢分享api.weixin.qq感谢原创分享者- test: name: 百度主页 request: url: /cgi-bin/tags/get method: GET params: access_token: 49_lsdk_pQJJ4R5IWdWVcDTQu3bHyVOsHDlAcuA99UtVwsmzrtHhSGJKgSPMi3i3TdOQrGeuzZdB62K1uhcKJQAk6eKjzlBL7HgWvAmw7gfiRTp00QnLdSZzN7ul9f2TMPex-Iz2tCg-ZWsSPLbJTJdABAYIY extract: - id: content.tags.0.id - name: content.tags.0.name validate: - eq: [$id,2] - eq: [$name,"星标组"]