Table of Contents
URL库简介
URL库可以用来解析URI或者从指定的URI处访问资源.
解析URI
一个URI由多个组件组成,使用函数`url-generic-parse-url’可以将一个URI字符串解析成URI对象(一个由各个URI组件组成的结构体). 使用`url-recreate-url’可以将解析的URI对象组合成URI字符串
(url-generic-parse-url uri-string)
将uri-string解析成URI对象,该对象由多个URI组件组成的结构体
(url-recreate-url url-obj)
将URI对象反转为URI字符串
URI对象的结构
URI对象是一个CL结构体,该结构体由如下slot组成:
slot | 意义 | 值类型 | 是否可以为nil | 备注 |
---|---|---|---|---|
type | URI的协议类型 | 字符串 | 否 | |
user | 用户名 | 字符串 | 是 | |
password | 用户密码 | 字符串 | 是 | nowadays, passwords are transmitted by other means, not as part of a URI |
host | 主机地址 | 字符串 | 是 | |
port | 端口号 | 整型 | 是 | 若为nil表示协议类型的默认端口号 |
filename | 由URI的”path”和”query”两部分组成 | 字符串 | 是 | “path”和”query”由字符\`?’拼接. “filename”的意义,由各协议类型决定 |
target | fragment组件(指明”secondary resource”的地址) | 字符串 | 是 | |
fullness | 指明URI是否为完全指定的URI | t或nil | 是 |
由于URI对象是一个CL结构