云日志服务 LTS-解析函数:url_parse

时间:2024-11-02 18:44:20

url_parse

解析URL的组成部分。

  • 函数格式
    url_parse(url, scheme="", allow_fragments=true)
  • 参数说明

    参数名称

    数据类型

    是否必填

    说明

    value

    String

    待解析的URL。

    scheme

    String

    网络协议,默认为空字符。仅在URL中未指定网络协议时,返回结果中的scheme字段才会使用此处设置的值。

    allow_fragments

    Boolean

    是否解析URL中的fragment部分。

    • true(默认值):解析URL中的fragment部分,返回结果中的fragment字段为具体值。
    • false:不解析URL中的fragment部分,返回结果中的fragment字段为空字符串。
  • 返回结果

    返回解析后的JSON数据,具体参数说明如下表所示。

    字段

    说明

    scheme

    网络协议

    netloc

    网络位置

    path

    分层路径标识

    query

    查询组件

    fragment

    片段标识符

  • 函数示例
    1. 示例1:使用默认参数,返回URL的各个组成部分。
      • 测试数据
        {
           "content":"https://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib"
        }
      • 加工规则
        e_set("url",url_parse(v("content")))
      • 加工结果
        content:https://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib
        url:{
                "scheme": "https",
                 "netloc": "username:username@example.com:8083",
                 "path": "/hello/asdah/",
                 "params":"type=docx",
                 "query": "filename=python3.docx",
                 "fragment": "urllib",
             }
    2. 示例2:设置allow_fragments为false,返回结果中的fragment参数值为空。
      • 测试数据
        {
           "content":"https://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib"
        }
      • 加工规则
        e_set("url",url_parse(v("content"),allow_fragments=false))
      • 加工结果
        content:https://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib
        url:{ 
                       "scheme": "https",
                 "netloc": "username:username@example.com:8083", 
                "path": "/hello/asdah/",
                 "params": "type=docx",
                 "query": "filename=python3.docx", 
                "fragment": "",
             }
    3. 示例3:设置scheme为https,allow_fragments为false,返回结果中scheme参数值为https,fragment参数值为空。
      • 测试数据
        {
          "content":"//username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib"
        }
      • 加工规则
        e_set("url",url_parse(v("content"),scheme="https", allow_fragments=false))
      • 加工结果
        content://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib
        url:{ 
                 "scheme": "https",
                 "netloc": "username:username@example.com:8083",
                 "path": "/hello/asdah/",
                 "params": "type=docx",
                 "query": "filename=python3.docx",
                 "fragment": "",
             }
support.huaweicloud.com/usermanual-lts/lts_07_0146.html