Uri
2024年12月22日小于 1 分钟
Uri
Uri.BuildQueryString
Uri.BuildQueryString(query as record) as text
将记录值变成查询字符串。该函数会根据需要进行自动转义。
// A=1%203&B=%24ok%24
Uri.BuildQueryString([A="1 3", B="$ok$"])
Uri.Combine
Uri.Combine(baseUri as text, relativeUri as text) as text
拼接baseUri
和relativeUri
。该函数会自动转义。
// http://xxxx.yyy/get?a=a%20b%E6%88%91
Uri.Combine("http://xxxx.yyy", "get?a=a b我")
Uri.EscapeDataString
Uri.EscapeDataString(data as text) as text
根据RFC3986对文本data
中的特殊内容进行编码。
// abc%E6%88%91%20ni%24
Uri.EscapeDataString("abc我 ni$")
Uri.Parts
Uri.Parts(absoluteUri as text) as record
以记录形式返回absoluteUri
的组成信息。
Uri.Parts("http://user:password@xxxx.yyy:8080/get?a=a%20b%E6%88%91#ref")
结果是,结果除了Query为记录值,其余都是文本值:
字段名 | 字段值 | 额外说明 |
---|---|---|
Scheme | http | 协议 |
Host | xxxx.yyy | 主机地址 |
Port | 8080 | 端口 |
Path | /get | 路径 |
Query | [a="a b我"] | 查询 |
Fragment | ref | 片段、次级资源 |
UserName | user | 用户名 |
Password | password | 密码 |
Uri.EscapeDataString
的逆操作:
// "abc我 ni$"
Uri.Parts("http://xxx/?a=" & "abc%E6%88%91%20ni%24")[Query][a]