1# URI字符串解析 2 3> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** 4> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 5 6 7## 导入模块 8 9```js 10import uri from '@ohos.uri' 11``` 12 13## URI 14 15### 属性 16 17**系统能力:** SystemCapability.Utils.Lang 18 19| 名称 | 参数类型 | 可读 | 可写 | 说明 | 20| -------- | -------- | -------- | -------- | -------- | 21| scheme | string | 是 | 否 | 获取URI 的协议部分。 | 22| userInfo | string | 是 | 否 | 获取 URI 的用户信息部分。 | 23| host | string | 是 | 否 | 获取 URI 的主机名部分(不带端口)。 | 24| port | string | 是 | 否 | 获取 URI 的端口部分。 | 25| path | string | 是 | 否 | 获取 URI 的路径部分。 | 26| query | string | 是 | 否 | 获取 URI 的查询部分。 | 27| fragment | string | 是 | 否 | 获取 URI 的片段部分 | 28| authority | string | 是 | 否 | 获取此URI的解码权限组件部分。 | 29| ssp | string | 是 | 否 | 获取URI的解码方案特定部分。 | 30 31 32### constructor 33 34constructor(uri: string) 35 36constructor是URI的构造函数。 37 38**系统能力:** SystemCapability.Utils.Lang 39 40**参数:** 41 42| 参数名 | 类型 | 可读 | 可写 | 说明 | 43| -------- | -------- | -------- | -------- | -------- | 44| uri | string | 是 | 是 | 入参对象。 | 45 46**示例:** 47 48```js 49var mm = 'http://username:password@host:8080/directory/file?foo=1&bar=2#fragment'; 50new uri.URI(mm); // Output 'http://username:password@host:8080/directory/file?foo=1&bar=2#fragment'; 51``` 52```js 53new uri.URI('http://username:password@host:8080'); // Output 'http://username:password@host:8080'; 54``` 55 56 57### toString 58 59toString(): string 60 61**系统能力:** SystemCapability.Utils.Lang 62 63返回适用于URI中的查询字符串。 64 65**返回值:** 66 67| 类型 | 说明 | 68| -------- | -------- | 69| string | 返回网址的字符串序列化。 | 70 71**示例:** 72 73```js 74const uri = new uri.URI('http://username:password@host:8080/directory/file?query=pppppp#qwer=da'); 75uri.toString() 76``` 77 78 79### equals 80 81equals(other: URI): boolean 82 83判断此URI是否与其他URI对象相等。 84 85**系统能力:** SystemCapability.Utils.Lang 86 87**参数:** 88 89| 参数名 | 类型 | 必填 | 说明 | 90| -------- | -------- | -------- | -------- | 91| other | [URI](#uri) | 是 | 需要比较的URI对象。 | 92 93**返回值:** 94 95| 类型 | 说明 | 96| -------- | -------- | 97| boolean | 返回true表示相等,否则返回false。 | 98 99**示例:** 100 101```js 102const uriInstance = new uri.URI('http://username:password@host:8080/directory/file?query=pppppp#qwer=da'); 103const uriInstance1 = new uri.URI('http://username:password@host:8080/directory/file?query=pppppp#qwer=da#fragment'); 104uriInstance.equals(uriInstance1); 105``` 106 107### checkIsAbsolute 108 109checkIsAbsolute(): boolean 110 111判断此URI是否为绝对URI(是否定义了scheme组件)。 112 113**系统能力:** SystemCapability.Utils.Lang 114 115**返回值:** 116 117| 类型 | 说明 | 118| -------- | -------- | 119| boolean | 返回true表示该URI是否为绝对URI。 | 120 121**示例:** 122 123```js 124const uriInstance = new uri.URI('http://username:password@www.qwer.com:8080?query=pppppp'); 125uriInstance.checkIsAbsolute(); 126``` 127 128 129### normalize 130 131normalize(): URI 132 133规范化此URI的路径。 134 135**系统能力:** SystemCapability.Utils.Lang 136 137**返回值:** 138 139| 类型 | 说明 | 140| -------- | -------- | 141| URI | 返回一个path被规范化后的URI对象。 | 142 143**示例:** 144```js 145const uriInstance = new uri.URI('http://username:password@www.qwer.com:8080/path/path1/../path2/./path3?query=pppppp'); 146let uriInstance1 = uriInstance.normalize(); 147uriInstance1.path; 148``` 149