1# NetConnection 2 3 4## 概述 5 6为网络管理数据网络连接模块提供C接口。 7 8**起始版本:** 11 9 10 11## 汇总 12 13 14### 文件 15 16| 名称 | 描述 | 17| -------- | -------- | 18| [net_connection.h](net__connection_8h.md) | 为网络管理数据网络连接模块提供C接口。<br>**引用文件:** \<network\/netmanager\/net_connection.h\> | 19| [net_connection_type.h](net__connection__type_8h.md) | 定义网络连接模块的C接口需要的数据结构。<br>**引用文件:** \<network\/netmanager\/net_connection_type.h\> | 20 21 22### 结构体 23 24| 名称 | 描述 | 25| -------- | -------- | 26| [NetConn_NetHandle](_net_conn___net_handle.md) | 存放网络ID。 | 27| [NetConn_NetCapabilities](_net_conn___net_capabilities.md) | 网络能力集。 | 28| [NetConn_NetAddr](_net_conn___net_addr.md) | 网络地址。 | 29| [NetConn_Route](_net_conn___route.md) | 路由配置信息。 | 30| [NetConn_HttpProxy](_net_conn___http_proxy.md) | 代理配置信息。 | 31| [NetConn_ConnectionProperties](_net_conn___connection_properties.md) | 网络连接信息。 | 32| [NetConn_NetHandleList](_net_conn___net_handle_list.md) | 网络列表。 | 33| [NetConn_NetConnCallback](_net_conn___net_conn_callback.md) | 网络状态监听回调集合。 | 34| [NetConn_NetSpecifier](_net_conn___net_specifier.md) | 网络的特征集,包含网络的能力集与网络的标识符。 | 35 36 37### 宏定义 38 39| 名称 | 描述 | 40| -------- | -------- | 41| **NETCONN_MAX_NET_SIZE** | 32 | 42| **NETCONN_MAX_BEARER_TYPE_SIZE** | 32 | 43| **NETCONN_MAX_CAP_SIZE** | 32 | 44| **NETCONN_MAX_ADDR_SIZE** | 32 | 45| **NETCONN_MAX_ROUTE_SIZE** | 64 | 46| **NETCONN_MAX_EXCLUSION_SIZE** | 256 | 47| **NETCONN_MAX_STR_LEN** | 256 | 48 49 50### 类型定义 51 52| 名称 | 描述 | 53| -------- | -------- | 54| [NetConn_NetCap](#netconn_netcap) | 网络能力集。 | 55| [NetConn_NetBearerType](#netconn_netbearertype) | 网络载体类型。 | 56| [NetConn_NetHandle](#netconn_nethandle) | 存放网络ID。 | 57| [NetConn_NetCapabilities](#netconn_netcapabilities) | 网络能力集。 | 58| [NetConn_NetAddr](#netconn_netaddr) | 网络地址。 | 59| [NetConn_Route](#netconn_route) | 路由配置信息。 | 60| [NetConn_HttpProxy](#netconn_httpproxy) | 代理配置信息。 | 61| [NetConn_ConnectionProperties](#netconn_connectionproperties) | 网络连接信息。 | 62| [NetConn_NetHandleList](#netconn_nethandlelist) | 网络列表。 | 63| (\*[OH_NetConn_CustomDnsResolver](#oh_netconn_customdnsresolver)) (const char \*host, const char \*serv, const struct addrinfo \*hint, struct addrinfo \*\*res) | 指向自定义 DNS 解析器的指针。 | 64| [NetConn_NetConnCallback](#netconn_netconncallback) | 网络状态监听回调集合。 | 65| [NetConn_NetSpecifier](#netconn_netspecifier) | 网络的特征集,包含网络的能力集与网络的标识符。 | 66| [NetConn_ErrorCode](#netconn_errorcode) | 网络连接返回值错误码。 | 67 68### 枚举 69 70| 名称 | 描述 | 71| -------- | -------- | 72| [NetConn_NetCap](#netconn_netcap) {<br/>NETCONN_NET_CAPABILITY_MMS = 0,<br/>NETCONN_NET_CAPABILITY_NOT_METERED = 11,<br/>NETCONN_NET_CAPABILITY_INTERNET = 12,<br/>NETCONN_NET_CAPABILITY_NOT_VPN = 15,<br/>NETCONN_NET_CAPABILITY_VALIDATED = 16<br/>} | 网络能力集。 | 73| [NetConn_NetBearerType](#netconn_netbearertype) {<br/>NETCONN_BEARER_CELLULAR = 0,<br/>NETCONN_BEARER_WIFI = 1,<br/>NETCONN_BEARER_ETHERNET = 3<br/>NETCONN_BEARER_VPN = 4<br/>} | 网络载体类型。 | 74| [NetConn_ErrorCode](#netconn_errorcode) {<br/>NETCONN_SUCCESS = 0,<br/>NETCONN_PERMISSION_DENIED = 201,<br/>NETCONN_PARAMETER_ERROR = 401,<br/>NETCONN_OPERATION_FAILED = 2100002,<br/>NETCONN_INTERNAL_ERROR= 2100003<br/>} | 网络连接返回值错误码。 | 75 76 77### 函数 78 79| 名称 | 描述 | 80| -------- | -------- | 81| [OH_NetConn_HasDefaultNet](#oh_netconn_hasdefaultnet) (int32_t \*hasDefaultNet) | 查询是否有默认激活的数据网络。 | 82| [OH_NetConn_GetDefaultNet](#oh_netconn_getdefaultnet) ([NetConn_NetHandle](_net_conn___net_handle.md) \*netHandle) | 获取激活的默认的数据网络。 | 83| [OH_NetConn_IsDefaultNetMetered](#oh_netconn_isdefaultnetmetered) (int32_t \*isMetered) | 查询默认网络是否按流量计费。 | 84| [OH_NetConn_GetConnectionProperties](#oh_netconn_getconnectionproperties) ([NetConn_NetHandle](_net_conn___net_handle.md) \*netHandle, [NetConn_ConnectionProperties](_net_conn___connection_properties.md) \*prop) | 查询某个数据网络的链路信息。 | 85| [OH_NetConn_GetNetCapabilities](#oh_netconn_getnetcapabilities) ([NetConn_NetHandle](_net_conn___net_handle.md) \*netHandle, [NetConn_NetCapabilities](_net_conn___net_capabilities.md) \*netCapacities) | 查询某个网络的能力集。 | 86| [OH_NetConn_GetDefaultHttpProxy](#oh_netconn_getdefaulthttpproxy) ([NetConn_HttpProxy](_net_conn___http_proxy.md) \*httpProxy) | 查询默认的网络代理。 | 87| [OH_NetConn_GetAddrInfo](#oh_netconn_getaddrinfo) (char \*host, char \*serv, struct addrinfo \*hint, struct addrinfo \*\*res, int32_t netId) | 通过netId获取DNS结果。 | 88| [OH_NetConn_FreeDnsResult](#oh_netconn_freednsresult) (struct addrinfo \*res) | 释放DNS结果。 | 89| [OH_NetConn_GetAllNets](#oh_netconn_getallnets) ([NetConn_NetHandleList](_net_conn___net_handle_list.md) \*netHandleList) | 查询所有激活的数据网络。 | 90| [OHOS_NetConn_RegisterDnsResolver](#ohos_netconn_registerdnsresolver-deprecated) ([OH_NetConn_CustomDnsResolver](#oh_netconn_customdnsresolver) resolver) | 注册自定义 DNS 解析器。 | 91| [OHOS_NetConn_UnregisterDnsResolver](#ohos_netconn_unregisterdnsresolver-deprecated) (void) | 取消注册自定义 DNS 解析器。 | 92| [OH_NetConn_RegisterDnsResolver](#oh_netconn_registerdnsresolver) ([OH_NetConn_CustomDnsResolver](#oh_netconn_customdnsresolver) resolver) | 注册自定义 DNS 解析器。 | 93| [OH_NetConn_UnregisterDnsResolver](#oh_netconn_unregisterdnsresolver) (void) | 取消注册自定义 DNS 解析器。 | 94| [OH_NetConn_BindSocket](#oh_netconn_bindsocket) (int32_t socketFd, [NetConn_NetHandle](_net_conn___net_handle.md) \*netHandle) | 将套接字与指定的网络进行绑定。 | 95| [OH_NetConn_SetAppHttpProxy](#oh_netconn_setapphttpproxy) ([NetConn_HttpProxy](_net_conn___http_proxy.md) \*httpProxy) | 设置应用级代理信息。 | 96| [OH_NetConn_RegisterAppHttpProxyCallback](#oh_netconn_registerapphttpproxycallback) ([OH_NetConn_AppHttpProxyChange](#oh_netconn_apphttpproxychange) appHttpProxyChange, uint32_t \*callbackId) | 注册监听应用级代理变化。 | 97| [OH_NetConn_UnregisterAppHttpProxyCallback](#oh_netconn_unregisterapphttpproxycallback) (uint32_t callbackId) | 注销监听应用级代理变化。 | 98| [OH_NetConn_RegisterNetConnCallback](#oh_netconn_registernetconncallback) ([NetConn_NetSpecifier](_net_conn___net_specifier.md) \*specifier, [NetConn_NetConnCallback](_net_conn___net_conn_callback.md) \*netConnCallback, uint32_t timeoutMS, uint32_t \*callbackId) | 注册监听网络状态的回调。 | 99| [OH_NetConn_RegisterDefaultNetConnCallback](#oh_netconn_registerdefaultnetconncallback) ([NetConn_NetConnCallback](_net_conn___net_conn_callback.md) \*netConnCallback, uint32_t \*callbackId) | 注册监听默认网络状态的回调。 | 100| [OH_NetConn_UnregisterNetConnCallback](#oh_netconn_unregisternetconncallback) (uint32_t callbackId) | 注销监听网络状态的回调。 | 101| [OH_NetConn_SetPacUrl](#oh_netconn_setpacurl) (const char \*pacUrl) | 设置系统级代理自动配置(PAC)脚本地址。 | 102| [OH_NetConn_GetPacUrl](#oh_netconn_getpacurl) (char \*pacUrl) | 获取系统级代理自动配置(PAC)脚本地址。 | 103 104 105## 类型定义说明 106 107 108### NetConn_ConnectionProperties 109 110``` 111typedef struct NetConn_ConnectionProperties NetConn_ConnectionProperties 112``` 113 114**描述** 115 116网络连接信息。 117 118**起始版本:** 11 119 120 121### NetConn_HttpProxy 122 123``` 124typedef struct NetConn_HttpProxy NetConn_HttpProxy 125``` 126 127**描述** 128 129代理配置信息。 130 131**起始版本:** 11 132 133 134### NetConn_NetAddr 135 136``` 137typedef struct NetConn_NetAddr NetConn_NetAddr 138``` 139 140**描述** 141 142网络地址。 143 144**起始版本:** 11 145 146 147### NetConn_NetBearerType 148 149``` 150typedef enum NetConn_NetBearerType NetConn_NetBearerType 151``` 152 153**描述** 154 155网络载体类型。 156 157**起始版本:** 11 158 159 160### NetConn_NetCap 161 162``` 163typedef enum NetConn_NetCap NetConn_NetCap 164``` 165 166**描述** 167 168网络能力集。 169 170**起始版本:** 11 171 172 173### NetConn_NetCapabilities 174 175``` 176typedef struct NetConn_NetCapabilities NetConn_NetCapabilities 177``` 178 179**描述** 180 181网络能力集。 182 183**起始版本:** 11 184 185 186### NetConn_NetHandle 187 188``` 189typedef struct NetConn_NetHandle NetConn_NetHandle 190``` 191 192**描述** 193 194存放网络ID。 195 196**起始版本:** 11 197 198 199### NetConn_NetHandleList 200 201``` 202typedef struct NetConn_NetHandleList NetConn_NetHandleList 203``` 204 205**描述** 206 207网络列表。 208 209**起始版本:** 11 210 211 212### NetConn_Route 213 214``` 215typedef struct NetConn_Route NetConn_Route 216``` 217 218**描述** 219 220路由配置信息。 221 222**起始版本:** 11 223 224 225### OH_NetConn_CustomDnsResolver 226 227``` 228typedef int(* OH_NetConn_CustomDnsResolver) (const char *host, const char *serv, const struct addrinfo *hint, struct addrinfo **res) 229``` 230 231**描述** 232 233指向自定义 DNS 解析器的指针。 234 235**起始版本:** 11 236 237**参数:** 238 239| 名称 | 描述 | 240| -------- | -------- | 241| host | 要查询的主机名。 | 242| serv | 服务名称。 | 243| hint | 指向addrinfo结构的指针。 | 244| res | 存储DNS查询结果并以链表形式返回。 | 245 246 247### OH_NetConn_AppHttpProxyChange 248 249``` 250typedef void(* OH_NetConn_AppHttpProxyChange) (NetConn_HttpProxy *proxy) 251``` 252 253**描述** 254 255应用级代理变化回调指针。 256 257**起始版本:** 12 258 259**参数:** 260 261| 名称 | 描述 | 262| -------- | -------- | 263| proxy | 变化的代理配置信息(可能为空指针)。 | 264 265 266### NetConn_NetConnCallback 267 268``` 269typedef struct NetConn_NetConnCallback NetConn_NetConnCallback 270``` 271 272**描述** 273 274网络状态监听回调集合。 275 276**起始版本:** 12 277 278 279### NetConn_NetSpecifier 280 281``` 282typedef struct NetConn_NetSpecifier NetConn_NetSpecifier 283``` 284 285**描述** 286 287网络的特征集,包含网络的能力集与网络的标识符。 288 289**起始版本:** 12 290 291 292### NetConn_ErrorCode 293 294``` 295typedef enum NetConn_ErrorCode NetConn_ErrorCode 296``` 297 298**描述** 299 300网络连接返回值错误码。 301 302**起始版本:** 15 303 304 305## 枚举类型说明 306 307 308### NetConn_NetBearerType 309 310``` 311enum NetConn_NetBearerType 312``` 313 314**描述** 315 316网络载体类型。 317 318**起始版本:** 11 319 320| 枚举值 | 描述 | 321| ------------------------| ----------------------- | 322| NETCONN_BEARER_CELLULAR | 蜂窝网络。 | 323| NETCONN_BEARER_WIFI | WIFI。 | 324| NETCONN_BEARER_BLUETOOTH | 蓝牙。<br/>起始版本:12。 | 325| NETCONN_BEARER_ETHERNET | Ethernet。 | 326| NETCONN_BEARER_VPN | VPN。<br/>起始版本:12。| 327 328 329### NetConn_NetCap 330 331``` 332enum NetConn_NetCap 333``` 334 335**描述** 336 337网络能力集。 338 339**起始版本:** 11 340 341| 枚举值 | 描述 | 342| -------- | -------- | 343| NETCONN_NET_CAPABILITY_MMS | MMS。 | 344| NETCONN_NET_CAPABILITY_NOT_METERED | 非计量网络。 | 345| NETCONN_NET_CAPABILITY_INTERNET | Internet。 | 346| NETCONN_NET_CAPABILITY_NOT_VPN | 非VPN。 | 347| NETCONN_NET_CAPABILITY_VALIDATED | 已验证。 | 348| NETCONN_NET_CAPABILITY_CHECKING_CONNECTIVITY | 检测连通性中。<br/>起始版本:12。 | 349 350 351### NetConn_ErrorCode 352 353``` 354enum NetConn_ErrorCode 355``` 356 357**描述** 358 359网络连接返回值错误码。 360 361**起始版本:** 15 362 363| 枚举值 | 描述 | 364| ------------------------ | ----------------------- | 365| NETCONN_SUCCESS | 成功。 | 366| NETCONN_PERMISSION_DENIED| 权限校验失败。 | 367| NETCONN_PARAMETER_ERROR | 参数检查失败。 | 368| NETCONN_OPERATION_FAILED | 连接服务失败。 | 369| NETCONN_INTERNAL_ERROR | 系统内部错误。 | 370 371 372## 函数说明 373 374 375### OH_NetConn_FreeDnsResult() 376 377``` 378int32_t OH_NetConn_FreeDnsResult (struct addrinfo * res) 379``` 380 381**描述** 382 383释放DNS结果。 384 385**系统能力:** SystemCapability.Communication.NetManager.Core 386 387**起始版本:** 11 388 389**参数:** 390 391| 名称 | 描述 | 392| -------- | -------- | 393| res | DNS查询结果链表头。 | 394 395**返回:** 396 3970 - 成功。 398 399201 - 缺少权限。 400 401401 - 参数错误。 402 4032100002 - 无法连接到服务。 404 4052100003 - 内部错误。 406 407**Permission:** 408 409ohos.permission.INTERNET 410 411 412### OH_NetConn_GetAddrInfo() 413 414``` 415int32_t OH_NetConn_GetAddrInfo (char * host, char * serv, struct addrinfo * hint, struct addrinfo ** res, int32_t netId ) 416``` 417 418**描述** 419 420通过netId获取DNS结果。 421 422**系统能力:** SystemCapability.Communication.NetManager.Core 423 424**起始版本:** 11 425 426**参数:** 427 428| 名称 | 描述 | 429| -------- | -------- | 430| host | 所需查询的host名。 | 431| serv | 服务名。 | 432| hint | 指向addrinfo结构体的指针。 | 433| res | 存放DNS查询结果,以链表形式返回。 | 434| netId | DNS查询netId 为0是使用默认netid查询。 | 435 436**返回:** 437 4380 - 成功。 439 440201 - 缺少权限。 441 442401 - 参数错误。 443 4442100002 - 无法连接到服务。 445 4462100003 - 内部错误。 447 448**Permission:** 449 450ohos.permission.INTERNET 451 452 453### OH_NetConn_GetAllNets() 454 455``` 456int32_t OH_NetConn_GetAllNets (NetConn_NetHandleList * netHandleList) 457``` 458 459**描述** 460 461查询所有激活的数据网络。 462 463**系统能力:** SystemCapability.Communication.NetManager.Core 464 465**起始版本:** 11 466 467**参数:** 468 469| 名称 | 描述 | 470| -------- | -------- | 471| netHandleList | 网络信息列表。 | 472 473**返回:** 474 4750 - 成功。 476 477201 - 缺少权限。 478 479401 - 参数错误。 480 4812100002 - 无法连接到服务。 482 4832100003 - 内部错误。 484 485**Permission:** 486 487ohos.permission.GET_NETWORK_INFO 488 489 490### OH_NetConn_GetConnectionProperties() 491 492``` 493int32_t OH_NetConn_GetConnectionProperties (NetConn_NetHandle * netHandle, NetConn_ConnectionProperties * prop ) 494``` 495 496**描述** 497 498查询某个数据网络的链路信息。 499 500**系统能力:** SystemCapability.Communication.NetManager.Core 501 502**起始版本:** 11 503 504**参数:** 505 506| 名称 | 描述 | 507| -------- | -------- | 508| nethandle | 存放网络ID。 | 509| prop | 存放链路信息。 | 510 511**返回:** 512 5130 - 成功。 514 515201 - 缺少权限。 516 517401 - 参数错误。 518 5192100002 - 无法连接到服务。 520 5212100003 - 内部错误。 522 523**Permission:** 524 525ohos.permission.GET_NETWORK_INFO 526 527 528### OH_NetConn_GetDefaultHttpProxy() 529 530``` 531int32_t OH_NetConn_GetDefaultHttpProxy (NetConn_HttpProxy * httpProxy) 532``` 533 534**描述** 535 536查询默认的网络代理。 537 538**系统能力:** SystemCapability.Communication.NetManager.Core 539 540**起始版本:** 11 541 542**参数:** 543 544| 名称 | 描述 | 545| -------- | -------- | 546| httpProxy | 存放代理配置信息。 | 547 548**返回:** 549 5500 - 成功。 551 552201 - 缺少权限。 553 554401 - 参数错误。 555 5562100002 - 无法连接到服务。 557 5582100003 - 内部错误。 559 560 561### OH_NetConn_GetDefaultNet() 562 563``` 564int32_t OH_NetConn_GetDefaultNet (NetConn_NetHandle * netHandle) 565``` 566 567**描述** 568 569获取激活的默认的数据网络。 570 571**系统能力:** SystemCapability.Communication.NetManager.Core 572 573**起始版本:** 11 574 575**参数:** 576 577| 名称 | 描述 | 578| -------- | -------- | 579| netHandle | 存放网络ID。 | 580 581**返回:** 582 5830 - 成功。 584 585201 - 缺少权限。 586 587401 - 参数错误。 588 5892100002 - 无法连接到服务。 590 5912100003 - 内部错误。 592 593**Permission:** 594 595ohos.permission.GET_NETWORK_INFO 596 597 598### OH_NetConn_GetNetCapabilities() 599 600``` 601int32_t OH_NetConn_GetNetCapabilities (NetConn_NetHandle * netHandle, NetConn_NetCapabilities * netCapacities ) 602``` 603 604**描述** 605 606查询某个网络的能力集。 607 608**系统能力:** SystemCapability.Communication.NetManager.Core 609 610**起始版本:** 11 611 612**参数:** 613 614| 名称 | 描述 | 615| -------- | -------- | 616| netHandle | 存放网络ID。 | 617| netCapacities | 存放能力集。 | 618 619**返回:** 620 6210 - 成功。 622 623201 - 缺少权限。 624 625401 - 参数错误。 626 6272100002 - 无法连接到服务。 628 6292100003 - 内部错误。 630 631**Permission:** 632 633ohos.permission.GET_NETWORK_INFO 634 635 636### OH_NetConn_HasDefaultNet() 637 638``` 639int32_t OH_NetConn_HasDefaultNet (int32_t * hasDefaultNet) 640``` 641 642**描述** 643 644查询是否有默认激活的数据网络。 645 646**系统能力:** SystemCapability.Communication.NetManager.Core 647 648**起始版本:** 11 649 650**参数:** 651 652| 名称 | 描述 | 653| -------- | -------- | 654| hasDefaultNet | 是否有默认网络。 | 655 656**返回:** 657 6580 - 成功。 659 660201 - 缺少权限。 661 662401 - 参数错误。 663 6642100002 - 无法连接到服务。 665 6662100003 - 内部错误。 667 668**Permission:** 669 670ohos.permission.GET_NETWORK_INFO 671 672 673### OH_NetConn_IsDefaultNetMetered() 674 675``` 676int32_t OH_NetConn_IsDefaultNetMetered (int32_t * isMetered) 677``` 678 679**描述** 680 681查询默认数据网络是否记流量。 682 683**系统能力:** SystemCapability.Communication.NetManager.Core 684 685**起始版本:** 11 686 687**参数:** 688 689| 名称 | 描述 | 690| -------- | -------- | 691| isMetered | 是否激活。 | 692 693**返回:** 694 6950 - 成功。 696 697201 - 缺少权限。 698 699401 - 参数错误。 700 7012100002 - 无法连接到服务。 702 7032100003 - 内部错误。 704 705**Permission:** 706 707ohos.permission.GET_NETWORK_INFO 708 709 710### OHOS_NetConn_RegisterDnsResolver() <sup>(deprecated)</sup> 711 712``` 713int32_t OHOS_NetConn_RegisterDnsResolver (OH_NetConn_CustomDnsResolver resolver) 714``` 715 716**描述** 717 718注册自定义 DNS 解析器。 719 720**系统能力:** SystemCapability.Communication.NetManager.Core 721 722**起始版本:** 11 723 724**废弃版本:** 13 725 726**替代接口:** [OH_NetConn_RegisterDnsResolver](#oh_netconn_registerdnsresolver) 727 728**参数:** 729 730| 名称 | 描述 | 731| -------- | -------- | 732| resolver | 指向自定义 DNS 解析器的指针。 | 733 734**返回:** 735 7360 - 成功。 737 738201 - 缺少权限。 739 740401 - 参数错误。 741 7422100002 - 无法连接到服务。 743 7442100003 - 内部错误。 745 746**Permission:** 747 748ohos.permission.INTERNET 749 750 751### OHOS_NetConn_UnregisterDnsResolver() <sup>(deprecated)</sup> 752 753``` 754int32_t OHOS_NetConn_UnregisterDnsResolver (void ) 755``` 756 757**描述** 758 759取消注册自定义 DNS 解析器。 760 761**系统能力:** SystemCapability.Communication.NetManager.Core 762 763**起始版本:** 11 764 765**废弃版本:** 13 766 767**替代接口:** [OH_NetConn_UnregisterDnsResolver](#oh_netconn_unregisterdnsresolver) 768 769**返回:** 770 7710 - 成功。 772 773201 - 缺少权限。 774 775401 - 参数错误。 776 7772100002 - 无法连接到服务。 778 7792100003 - 内部错误。 780 781**Permission:** 782 783ohos.permission.INTERNET 784 785 786### OH_NetConn_RegisterDnsResolver() 787 788``` 789int32_t OH_NetConn_RegisterDnsResolver (OH_NetConn_CustomDnsResolver resolver) 790``` 791 792**描述** 793 794注册自定义 DNS 解析器。 795 796**系统能力:** SystemCapability.Communication.NetManager.Core 797 798**起始版本:** 13 799 800**参数:** 801 802| 名称 | 描述 | 803| -------- | -------- | 804| resolver | 指向自定义 DNS 解析器的指针。 | 805 806**返回:** 807 8080 - 成功。 809 810201 - 缺少权限。 811 812401 - 参数错误。 813 8142100002 - 无法连接到服务。 815 8162100003 - 内部错误。 817 818**Permission:** 819 820ohos.permission.INTERNET 821 822 823### OH_NetConn_UnregisterDnsResolver() 824 825``` 826int32_t OH_NetConn_UnregisterDnsResolver (void ) 827``` 828 829**描述** 830 831取消注册自定义 DNS 解析器。 832 833**系统能力:** SystemCapability.Communication.NetManager.Core 834 835**起始版本:** 13 836 837**返回:** 838 8390 - 成功。 840 841201 - 缺少权限。 842 843401 - 参数错误。 844 8452100002 - 无法连接到服务。 846 8472100003 - 内部错误。 848 849**Permission:** 850 851ohos.permission.INTERNET 852 853 854### OH_NetConn_BindSocket() 855 856``` 857int32_t OH_NetConn_BindSocket (int32_t socketFd, NetConn_NetHandle * netHandle) 858``` 859 860**描述** 861 862将套接字与指定的网络进行绑定。 863 864**系统能力:** SystemCapability.Communication.NetManager.Core 865 866**起始版本:** 12 867 868**参数:** 869 870| 名称 | 描述 | 871| -------- | -------- | 872| socketFd | 用户创建的套接字。 | 873| netHandle | 存放网络ID。 | 874 875**返回:** 876 8770 - 成功。 878 879401 - 参数错误。 880 8812100002 - 无法连接到服务。 882 8832100003 - 内部错误。 884 885 886### OH_NetConn_SetAppHttpProxy() 887 888``` 889int32_t OH_NetConn_SetAppHttpProxy(NetConn_HttpProxy *httpProxy) 890``` 891 892**描述** 893 894设置应用级代理配置信息。 895 896**系统能力:** SystemCapability.Communication.NetManager.Core 897 898**起始版本:** 12 899 900**参数:** 901 902| 名称 | 描述 | 903| -------- | -------- | 904| httpProxy | 应用级代理配置信息。 | 905 906**返回:** 907 9080 - 成功。 909 910401 - 参数错误。 911 912 913### OH_NetConn_RegisterAppHttpProxyCallback() 914 915``` 916int32_t OH_NetConn_RegisterAppHttpProxyCallback(OH_NetConn_AppHttpProxyChange appHttpProxyChange, uint32_t *callbackId) 917``` 918 919**描述** 920 921注册监听应用级代理变化的回调。 922 923**系统能力:** SystemCapability.Communication.NetManager.Core 924 925**起始版本:** 12 926 927**参数:** 928 929| 名称 | 描述 | 930| -------- | -------- | 931| appHttpProxyChange | 指向应用级代理变化回调的指针。 | 932| callbackId | 关联本次注册的回调的id。 | 933 934**返回:** 935 9360 - 成功。 937 938401 - 参数错误。 939 940 941### OH_NetConn_UnregisterAppHttpProxyCallback() 942 943``` 944void OH_NetConn_UnregisterAppHttpProxyCallback(uint32_t callbackId) 945``` 946 947**描述** 948 949注销监听应用级代理变化的回调。 950 951**系统能力:** SystemCapability.Communication.NetManager.Core 952 953**起始版本:** 12 954 955**参数:** 956 957| 名称 | 描述 | 958| -------- | -------- | 959| callbackId | 关联需要注销的回调的id,此id在注册时得到。 | 960 961 962### OH_NetConn_RegisterNetConnCallback() 963 964``` 965int32_t OH_NetConn_RegisterNetConnCallback(NetConn_NetSpecifier *specifier, NetConn_NetConnCallback *netConnCallback, uint32_t timeout, uint32_t *callbackId) 966``` 967 968**描述** 969 970注册回调,用于监听特定的网络状态变更。 971 972**系统能力:** SystemCapability.Communication.NetManager.Core 973 974**起始版本:** 12 975 976**参数:** 977 978| 名称 | 描述 | 979| -------- | -------- | 980| specifier | 网络特征集。 | 981| netConnCallback | 注册的回调函数集合。 | 982| timeout | 等待时间,单位为毫秒,为0时表示无限等待。 | 983| callbackId | 出参,对应本次注册成功的回调。 | 984 985**返回:** 986 9870 - 成功。 988 989201 - 缺少权限。 990 991401 - 参数错误。 992 9932100002 - 无法连接到服务。 994 9952100003 - 内部错误。 996 9972101008 - 回调已注册。 998 9992101022 - 超过最大请求数。 1000 1001**Permission:** 1002 1003ohos.permission.GET_NETWORK_INFO 1004 1005 1006### OH_NetConn_RegisterDefaultNetConnCallback() 1007 1008``` 1009int32_t OH_NetConn_RegisterDefaultNetConnCallback(NetConn_NetConnCallback *netConnCallback, uint32_t *callbackId) 1010``` 1011 1012**描述** 1013 1014注册回调,用于监听默认的网络状态变更。 1015 1016**系统能力:** SystemCapability.Communication.NetManager.Core 1017 1018**起始版本:** 12 1019 1020**参数:** 1021 1022| 名称 | 描述 | 1023| -------- | -------- | 1024| netConnCallback | 注册的回调函数集合。 | 1025| callbackId | 出参,对应本次注册成功的回调。 | 1026 1027**返回:** 1028 10290 - 成功。 1030 1031201 - 缺少权限。 1032 1033401 - 参数错误。 1034 10352100002 - 无法连接到服务。 1036 10372100003 - 内部错误。 1038 10392101008 - 回调已注册。 1040 10412101022 - 超过最大请求数。 1042 1043**Permission:** 1044 1045ohos.permission.GET_NETWORK_INFO 1046 1047 1048### OH_NetConn_UnregisterNetConnCallback() 1049 1050``` 1051int32_t OH_NetConn_UnregisterNetConnCallback(uint32_t callBackId) 1052``` 1053 1054**描述** 1055 1056注销网络状态监听回调。 1057 1058**系统能力:** SystemCapability.Communication.NetManager.Core 1059 1060**起始版本:** 12 1061 1062**参数:** 1063 1064| 名称 | 描述 | 1065| -------- | -------- | 1066| callBackId | 需要被注销的回调对应id。 | 1067 1068**返回:** 1069 10700 - 成功。 1071 1072201 - 缺少权限。 1073 1074401 - 参数错误。 1075 10762100002 - 无法连接到服务。 1077 10782100003 - 内部错误。 1079 10802101007 - 未找到相应回调。 1081 1082**Permission:** 1083 1084ohos.permission.GET_NETWORK_INFO 1085 1086 1087### OH_NetConn_SetPacUrl() 1088 1089``` 1090NetConn_ErrorCode OH_NetConn_SetPacUrl(const char *pacUrl) 1091``` 1092 1093**描述** 1094 1095设置系统级代理自动配置(PAC)脚本地址。 1096 1097**系统能力:** SystemCapability.Communication.NetManager.Core 1098 1099**起始版本:** 15 1100 1101**参数:** 1102 1103| 名称 | 描述 | 1104| -------- | -------- | 1105| pacUrl | 需要设置的PAC脚本地址,该接口不会对脚本地址进行校验。 | 1106 1107**返回:** 1108 1109NETCONN_SUCCESS - 成功。 1110 1111NETCONN_PERMISSION_DENIED - 缺少权限。 1112 1113NETCONN_PARAMETER_ERROR - 参数错误。 1114 1115NETCONN_OPERATION_FAILED - 无法连接到服务。 1116 1117NETCONN_INTERNAL_ERROR - 内部错误,表示设置脚本地址失败。 1118 1119**Permission:** 1120 1121ohos.permission.SET_PAC_URL 1122 1123 1124### OH_NetConn_GetPacUrl() 1125 1126``` 1127NetConn_ErrorCode OH_NetConn_GetPacUrl(char *pacUrl) 1128``` 1129 1130**描述** 1131 1132获取系统级代理自动配置(PAC)脚本地址。 1133 1134**系统能力:** SystemCapability.Communication.NetManager.Core 1135 1136**起始版本:** 15 1137 1138**参数:** 1139 1140| 名称 | 描述 | 1141| -------- | -------- | 1142| pacUrl | 获取的PAC脚本地址。 | 1143 1144**返回:** 1145 1146NETCONN_SUCCESS - 成功。 1147 1148NETCONN_PERMISSION_DENIED - 参数错误。 1149 1150NETCONN_OPERATION_FAILED - 无法连接到服务。 1151 1152NETCONN_INTERNAL_ERROR - 内部错误,表示未设置脚本地址或查询失败。