• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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