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)。