1# @ohos.net.connection (网络连接管理)(系统接口) 2 3<!--Kit: Network Kit--> 4<!--Subsystem: Communication--> 5<!--Owner: @wmyao_mm--> 6<!--Designer: @guo-min_net--> 7<!--Tester: @tongxilin--> 8<!--Adviser: @zhang_yixin13--> 9 10网络连接管理提供管理网络一些基础能力,包括获取默认激活的数据网络、获取所有激活数据网络列表、开启关闭飞行模式、获取网络能力信息等功能。 11 12> **说明:** 13> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14> 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.net.connection (网络连接管理)](js-apis-net-connection.md)。 15 16## 导入模块 17 18```ts 19import { connection } from '@kit.NetworkKit'; 20``` 21 22 23## connection.getGlobalHttpProxy<sup>10+</sup> 24 25getGlobalHttpProxy(callback: AsyncCallback\<HttpProxy>): void 26 27获取网络的全局代理配置信息,使用callback方式作为异步方法。 28 29**系统接口**:此接口为系统接口。 30 31**系统能力**:SystemCapability.Communication.NetManager.Core 32 33**参数:** 34 35| 参数名 | 类型 | 必填 | 说明 | 36| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ | 37| callback | AsyncCallback\<[HttpProxy](js-apis-net-connection.md#httpproxy10)> | 是 | 回调函数。当成功获取网络的全局代理配置信息时,error为undefined,data为网络的全局代理配置信息;否则为错误对象。| 38 39**错误码:** 40 41| 错误码ID | 错误信息 | 42| ------- | ----------------------------- | 43| 401 | Parameter error. | 44| 202 | Non-system applications use system APIs. | 45| 2100002 | Failed to connect to the service.| 46| 2100003 | System internal error. | 47 48**示例:** 49 50```ts 51import { connection } from '@kit.NetworkKit'; 52import { BusinessError } from '@kit.BasicServicesKit'; 53 54connection.getGlobalHttpProxy((error: BusinessError, data: connection.HttpProxy) => { 55 console.error(JSON.stringify(error)); 56 console.info(JSON.stringify(data)); 57}); 58``` 59 60## connection.getGlobalHttpProxy<sup>10+</sup> 61 62getGlobalHttpProxy(): Promise\<HttpProxy>; 63 64获取网络的全局代理配置信息,使用Promise方式作为异步方法。 65 66**系统接口**:此接口为系统接口。 67 68**系统能力**:SystemCapability.Communication.NetManager.Core 69 70**返回值:** 71 72| 类型 | 说明 | 73| --------------------------------- | ------------------------------------- | 74| Promise\<[HttpProxy](js-apis-net-connection.md#httpproxy10)> | 以Promise形式返回网络的全局代理配置信息。 | 75 76**错误码:** 77 78| 错误码ID | 错误信息 | 79| ------- | ----------------------------- | 80| 202 | Non-system applications use system APIs. | 81| 2100002 | Failed to connect to the service.| 82| 2100003 | System internal error. | 83 84**示例:** 85 86```ts 87import { connection } from '@kit.NetworkKit'; 88import { BusinessError } from '@kit.BasicServicesKit'; 89 90connection.getGlobalHttpProxy().then((data: connection.HttpProxy) => { 91 console.info(JSON.stringify(data)); 92}).catch((error: BusinessError) => { 93 console.error(JSON.stringify(error)); 94}); 95``` 96 97## connection.setGlobalHttpProxy<sup>10+</sup> 98 99setGlobalHttpProxy(httpProxy: HttpProxy, callback: AsyncCallback\<void>): void 100 101设置网络全局Http代理配置信息,使用callback方式作为异步方法。 102 103**系统接口**:此接口为系统接口。 104 105**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 106 107**系统能力**:SystemCapability.Communication.NetManager.Core 108 109**参数:** 110 111| 参数名 | 类型 | 必填 | 说明 | 112| --------- | ----------------------- | ---- | ------------------------------------------------------------ | 113| httpProxy | [HttpProxy](js-apis-net-connection.md#httpproxy10) | 是 | 网络全局Http代理配置信息。 | 114| callback | AsyncCallback\<void> | 是 | 回调函数。当成功设置网络全局Http代理配置信息时,error为undefined,否则为错误对象。| 115 116**错误码:** 117 118| 错误码ID | 错误信息 | 119| ------- | ----------------------------- | 120| 201 | Permission denied. | 121| 401 | Parameter error. | 122| 202 | Non-system applications use system APIs. | 123| 2100001 | Invalid parameter value. | 124| 2100002 | Failed to connect to the service.| 125| 2100003 | System internal error. | 126 127**示例:** 128 129```ts 130import { connection } from '@kit.NetworkKit'; 131import { BusinessError } from '@kit.BasicServicesKit'; 132 133let exclusionStr = "192.168,baidu.com"; 134let exclusionArray = exclusionStr.split(','); 135let httpProxy: connection.HttpProxy = { 136 host: "192.168.xx.xxx", 137 port: 8080, 138 exclusionList: exclusionArray 139} 140connection.setGlobalHttpProxy(httpProxy, (err: BusinessError) => { 141 if (err) { 142 console.error(`setGlobalHttpProxy failed, callback: err->${JSON.stringify(err)}`); 143 return; 144 } 145 console.log(`setGlobalHttpProxy success.`); 146}); 147``` 148 149## connection.setGlobalHttpProxy<sup>10+</sup> 150 151setGlobalHttpProxy(httpProxy: HttpProxy): Promise\<void>; 152 153设置网络全局Http代理配置信息,使用Promise方式作为异步方法。 154 155**系统接口**:此接口为系统接口。 156 157**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 158 159**系统能力**:SystemCapability.Communication.NetManager.Core 160 161**参数:** 162 163| 参数名 | 类型 | 必填 | 说明 | 164| --------- | ------------------------------------------------------------ | ---- | ---------------- | 165| httpProxy | [HttpProxy](js-apis-net-connection.md#httpproxy10) | 是 | 网络全局Http代理配置信息。 | 166 167**返回值:** 168 169| 类型 | 说明 | 170| ------------------------------------------- | ----------------------------- | 171| Promise\<void> | 无返回值的Promise对象。 | 172 173**错误码:** 174 175| 错误码ID | 错误信息 | 176| ------- | ----------------------------- | 177| 201 | Permission denied. | 178| 401 | Parameter error. | 179| 202 | Non-system applications use system APIs. | 180| 2100001 | Invalid parameter value. | 181| 2100002 | Failed to connect to the service.| 182| 2100003 | System internal error. | 183 184**示例:** 185 186```ts 187import { connection } from '@kit.NetworkKit'; 188import { BusinessError } from '@kit.BasicServicesKit'; 189 190let exclusionStr = "192.168,baidu.com"; 191let exclusionArray = exclusionStr.split(','); 192connection.setGlobalHttpProxy({ 193 host: "192.168.xx.xxx", 194 port: 8080, 195 exclusionList: exclusionArray 196} as connection.HttpProxy).then(() => { 197 console.info("success"); 198}).catch((error: BusinessError) => { 199 console.error(JSON.stringify(error)); 200}); 201``` 202 203 204## connection.enableAirplaneMode 205 206enableAirplaneMode(callback: AsyncCallback\<void>): void 207 208开启飞行模式,使用callback方式作为异步方法。 209 210**系统接口**:此接口为系统接口。 211 212**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 213 214**系统能力**:SystemCapability.Communication.NetManager.Core 215 216**参数:** 217 218| 参数名 | 类型 | 必填 | 说明 | 219| -------- | ------------------------------------------------- | ---- | ------------------ | 220| callback | AsyncCallback\<void> | 是 | 回调函数。 | 221 222**错误码:** 223 224| 错误码ID | 错误信息 | 225| ------- | ----------------------------- | 226| 201 | Permission denied. | 227| 202 | Non-system applications use system APIs. | 228| 401 | Parameter error. | 229| 2100002 | Failed to connect to the service.| 230| 2100003 | System internal error. | 231 232**示例:** 233 234```ts 235import { connection } from '@kit.NetworkKit'; 236import { BusinessError } from '@kit.BasicServicesKit'; 237 238connection.enableAirplaneMode((error: BusinessError) => { 239 console.error(JSON.stringify(error)); 240}); 241``` 242 243## connection.enableAirplaneMode 244 245enableAirplaneMode(): Promise\<void> 246 247开启飞行模式,使用Promise方式作为异步方法。 248 249**系统接口**:此接口为系统接口。 250 251**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 252 253**系统能力**:SystemCapability.Communication.NetManager.Core 254 255**返回值:** 256 257| 类型 | 说明 | 258| ------------------------------------------- | ----------------------------- | 259| Promise\<void> | 无返回值的Promise对象。 | 260 261**错误码:** 262 263| 错误码ID | 错误信息 | 264| ------- | ----------------------------- | 265| 201 | Permission denied. | 266| 202 | Non-system applications use system APIs. | 267| 2100002 | Failed to connect to the service.| 268| 2100003 | System internal error. | 269 270**示例:** 271 272```ts 273import { connection } from '@kit.NetworkKit'; 274 275connection.enableAirplaneMode().then((error: void) => { 276 console.error(JSON.stringify(error)); 277}); 278``` 279 280## connection.disableAirplaneMode 281 282disableAirplaneMode(callback: AsyncCallback\<void>): void 283 284关闭飞行模式,使用callback方式作为异步方法。 285 286**系统接口**:此接口为系统接口。 287 288**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 289 290**系统能力**:SystemCapability.Communication.NetManager.Core 291 292**参数:** 293 294| 参数名 | 类型 | 必填 | 说明 | 295| -------- | ------------------------------------------------- | ---- | ------------------ | 296| callback | AsyncCallback\<void> | 是 | 回调函数。当关闭飞行模式成功,error为undefined,否则为错误对象。 | 297 298**错误码:** 299 300| 错误码ID | 错误信息 | 301| ------- | ----------------------------- | 302| 201 | Permission denied. | 303| 202 | Non-system applications use system APIs. | 304| 401 | Parameter error. | 305| 2100002 | Failed to connect to the service.| 306| 2100003 | System internal error. | 307 308**示例:** 309 310```ts 311import { connection } from '@kit.NetworkKit'; 312import { BusinessError } from '@kit.BasicServicesKit'; 313 314connection.disableAirplaneMode((error: BusinessError) => { 315 console.error(JSON.stringify(error)); 316}); 317``` 318 319## connection.disableAirplaneMode 320 321disableAirplaneMode(): Promise\<void> 322 323关闭飞行模式,使用Promise方式作为异步方法。 324 325**系统接口**:此接口为系统接口。 326 327**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 328 329**系统能力**:SystemCapability.Communication.NetManager.Core 330 331**返回值:** 332 333| 类型 | 说明 | 334| ------------------------------------------- | ----------------------------- | 335| Promise\<void> | 无返回值的Promise对象。 | 336 337**错误码:** 338 339| 错误码ID | 错误信息 | 340| ------- | ----------------------------- | 341| 201 | Permission denied. | 342| 202 | Non-system applications use system APIs. | 343| 2100002 | Failed to connect to the service.| 344| 2100003 | System internal error. | 345 346**示例:** 347 348```ts 349import { connection } from '@kit.NetworkKit'; 350 351connection.disableAirplaneMode().then((error: void) => { 352 console.error(JSON.stringify(error)); 353}); 354``` 355 356 357## connection.factoryReset<sup>11+</sup> 358 359factoryReset(): Promise\<void\> 360 361出厂重置网络设置,使用Promise方式作为异步方法。 362 363**系统接口**:此接口为系统接口。 364 365**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 366 367**系统能力**:SystemCapability.Communication.NetManager.Core 368 369**返回值:** 370 371| 类型 | 说明 | 372| ---------------------- | ----------------------- | 373| Promise\<void\> | 无返回值的Promise对象。 | 374 375**错误码:** 376 377| 错误码ID | 错误信息 | 378| ------- | ------------------------------------------ | 379| 201 | Permission denied. | 380| 202 | Non-system applications use system APIs. | 381| 2100002 | Failed to connect to the service.| 382| 2100003 | System internal error. | 383 384**示例:** 385 386```ts 387import { connection } from '@kit.NetworkKit'; 388import { BusinessError } from '@kit.BasicServicesKit'; 389 390connection.factoryReset().then(() => { 391 console.log("success"); 392}).catch((error: BusinessError) => { 393 console.error(JSON.stringify(error)); 394}) 395``` 396 397## ProxyMode<sup>20+</sup> 398 399表示代理模式的枚举。 400 401**系统接口**:此接口为系统接口。 402 403**系统能力**:SystemCapability.Communication.NetManager.Core 404 405| 名称 | 值 | 说明 | 406| -------------------- | ------ | ------------------------ | 407| PROXY_MODE_OFF | 0 | 关闭代理模式。 | 408| PROXY_MODE_AUTO | 1 | 自动代理模式。 | 409 410## connection.setProxyMode<sup>20+</sup> 411 412setProxyMode(mode: ProxyMode): Promise\<void\> 413 414设置代理模式。 415 416**系统接口**:此接口为系统接口。 417 418**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 419 420**系统能力**:SystemCapability.Communication.NetManager.Core 421 422**参数:** 423 424| 参数名 | 类型 | 必填 | 说明 | 425| ------ |----------------| ---- | ------------------ | 426| mode | [ProxyMode](#proxymode20) | 是 | 指定的代理模式。 | 427 428**返回值:** 429 430| 类型 | 说明 | 431| -------- | ------------------------ | 432| Promise\<void\> | Promise对象,无返回结果。 | 433 434**错误码:** 435 436以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 437 438| 错误码ID | 错误信息 | 439|-------|---------------| 440| 201 | Permission denied. | 441| 202 | Non-system applications use system APIs. | 442 443 444 445**示例:** 446 447```ts 448import { connection, ProxyMode } from '@kit.NetworkKit'; 449 450connection.setProxyMode(ProxyMode.AUTO).then(() => { 451 console.log("Proxy mode set successfully."); 452}).catch(error => { 453 console.error("Error setting proxy mode:", error); 454}); 455``` 456 457## connection.getProxyMode<sup>20+</sup> 458 459getProxyMode(): Promise\<ProxyMode\> 460 461获取当前的代理模式。 462 463**系统接口**:此接口为系统接口。 464 465**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 466 467**系统能力**:SystemCapability.Communication.NetManager.Core 468 469**返回值:** 470 471| 类型 | 说明 | 472|---------------------------| ------------------------ | 473| Promise\<[ProxyMode](#proxymode20)\> | 返回的Promise对象,包含当前代理模式。 | 474 475 476**示例:** 477 478```ts 479import { connection } from '@kit.NetworkKit'; 480 481connection.getProxyMode().then(mode => { 482 console.log("Current proxy mode:", mode); 483}).catch(error => { 484 console.error("Error getting proxy mode:", error); 485}); 486``` 487