• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Class (ProxyConfig)
2<!--Kit: ArkWeb-->
3<!--Subsystem: Web-->
4<!--Owner: @aohui-->
5<!--Designer: @yaomingliu-->
6<!--Tester: @ghiker-->
7<!--Adviser: @HelloCrease-->
8
9可以通过该类提供的接口对代理进行配置。
10
11> **说明:**
12>
13> - 本模块首批接口从API version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
14>
15> - 本Class首批接口从API version 15开始支持。
16>
17> - 示例效果请以真机运行为准,当前DevEco Studio预览器不支持。
18
19## insertProxyRule<sup>15+</sup>
20
21insertProxyRule(proxyRule: string, schemeFilter?: ProxySchemeFilter): void
22
23插入一条代理规则,与schemeFilter匹配的URL都会使用指定代理。如果schemeFilter为空,所有URL都将使用指定代理。
24
25**系统能力:** SystemCapability.Web.Webview.Core
26
27**参数:**
28
29| 参数名          | 类型     |  必填  | 说明           |
30| ---------------| ------- | ---- | ------------- |
31| proxyRule      | string  | 是   | URL要使用的代理。 |
32| schemeFilter   | [ProxySchemeFilter](./arkts-apis-webview-e.md#proxyschemefilter15)  | 否   | 与schemeFilter匹配的URL会使用代理。<br>默认值:MATCH_ALL_SCHEMES。 |
33
34**错误码:**
35
36以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)说明文档。
37
38| 错误码ID | 错误信息                              |
39| -------- | ------------------------------------- |
40|  401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.  |
41
42**示例:**
43
44完整示例代码参考[removeProxyOverride](./arkts-apis-webview-ProxyController.md#removeproxyoverride15)。
45
46## insertDirectRule<sup>15+</sup>
47
48insertDirectRule(schemeFilter?: ProxySchemeFilter): void
49
50插入一条代理规则,指明符合schemeFilter条件的URL将直接连接到服务器。
51
52**系统能力:** SystemCapability.Web.Webview.Core
53
54**参数:**
55
56| 参数名          | 类型     |  必填  | 说明           |
57| ---------------| ------- | ---- | ------------- |
58| schemeFilter   | [ProxySchemeFilter](./arkts-apis-webview-e.md#proxyschemefilter15)  | 否   | 与schemeFilter匹配的URL会直接与服务器相连。<br>默认值:MATCH_ALL_SCHEMES |
59
60**错误码:**
61
62以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)说明文档。
63
64| 错误码ID | 错误信息                              |
65| -------- | ------------------------------------- |
66|  401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.  |
67
68**示例:**
69
70完整示例代码参考[removeProxyOverride](./arkts-apis-webview-ProxyController.md#removeproxyoverride15)。
71
72## insertBypassRule<sup>15+</sup>
73
74insertBypassRule(bypassRule: string): void
75
76插入一条bypass规则,指明哪些URL应该绕过代理并直接连接到服务器。
77
78**系统能力:** SystemCapability.Web.Webview.Core
79
80**参数:**
81
82| 参数名          | 类型     |  必填  | 说明           |
83| ---------------| ------- | ---- | ------------- |
84| bypassRule     | string  | 是   | 与bypassRule匹配的URL会绕过代理。 |
85
86**错误码:**
87
88以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)说明文档。
89
90| 错误码ID | 错误信息                              |
91| -------- | ------------------------------------- |
92|  401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
93
94**示例:**
95
96完整示例代码参考[removeProxyOverride](./arkts-apis-webview-ProxyController.md#removeproxyoverride15)。
97
98## bypassHostnamesWithoutPeriod<sup>15+</sup>
99
100bypassHostnamesWithoutPeriod(): void
101
102没有点字符的域名将跳过代理并直接连接到服务器。
103
104**系统能力:** SystemCapability.Web.Webview.Core
105
106**示例:**
107
108完整示例代码参考[removeProxyOverride](./arkts-apis-webview-ProxyController.md#removeproxyoverride15)。
109
110## clearImplicitRules<sup>15+</sup>
111
112clearImplicitRules(): void
113
114默认情况下,如果某些主机名是本地IP地址或localhost地址,它们会绕过代理。调用此函数以覆盖默认行为,并强制将localhost或本地IP地址通过代理发送。
115
116**系统能力:** SystemCapability.Web.Webview.Core
117
118**示例:**
119
120完整示例代码参考[removeProxyOverride](./arkts-apis-webview-ProxyController.md#removeproxyoverride15)。
121
122## enableReverseBypass<sup>15+</sup>
123
124enableReverseBypass(reverse: boolean): void
125
126反转bypass规则。
127
128**系统能力:** SystemCapability.Web.Webview.Core
129
130**参数:**
131
132| 参数名          | 类型     |  必填  | 说明           |
133| ---------------| ------- | ---- | ------------- |
134| reverse     | boolean  | 是   | 参数值默认是false,表示与[insertBypassRule](#insertbypassrule15)中的bypassRule匹配的URL会绕过代理,参数值为true时,表示与[insertBypassRule](#insertbypassrule15)中的bypassRule匹配的URL会使用代理。 |
135
136**错误码:**
137
138以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)说明文档。
139
140| 错误码ID | 错误信息                              |
141| -------- | ------------------------------------- |
142|  401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.  |
143
144**示例:**
145
146完整示例代码参考[removeProxyOverride](./arkts-apis-webview-ProxyController.md#removeproxyoverride15)。
147
148## getBypassRules<sup>15+</sup>
149
150getBypassRules(): Array\<string\>
151
152获取不使用代理的URL列表。
153
154**系统能力:** SystemCapability.Web.Webview.Core
155
156**返回值:**
157
158| 类型   | 说明                      |
159| ------ | ------------------------- |
160| Array\<string\> | 不使用代理的URL列表。 |
161
162**示例:**
163
164完整示例代码参考[removeProxyOverride](./arkts-apis-webview-ProxyController.md#removeproxyoverride15)。
165
166## getProxyRules<sup>15+</sup>
167
168getProxyRules(): Array\<ProxyRule\>
169
170获取代理规则。
171
172**系统能力:** SystemCapability.Web.Webview.Core
173
174**返回值:**
175
176| 类型   | 说明                      |
177| ------ | ------------------------- |
178| Array\<[ProxyRule](./arkts-apis-webview-ProxyRule.md)\> | 代理规则。 |
179
180**示例:**
181
182完整示例代码参考[removeProxyOverride](./arkts-apis-webview-ProxyController.md#removeproxyoverride15)。
183
184## isReverseBypassEnabled<sup>15+</sup>
185
186isReverseBypassEnabled(): boolean
187
188获取[enableReverseBypass](#enablereversebypass15)的参数值,详见[enableReverseBypass](#enablereversebypass15)。
189
190**系统能力:** SystemCapability.Web.Webview.Core
191
192**返回值:**
193
194| 类型   | 说明                      |
195| ------ | ------------------------- |
196| boolean | [enableReverseBypass](#enablereversebypass15)的参数值。参数值为false,表示与[insertBypassRule](#insertbypassrule15)中的bypassRule匹配的URL会绕过代理,参数值为true时,表示与[insertBypassRule](#insertbypassrule15)中的bypassRule匹配的URL会使用代理。 |
197
198**示例:**
199
200完整示例代码参考[removeProxyOverride](./arkts-apis-webview-ProxyController.md#removeproxyoverride15)。