1# Web
2
3
4## 概述
5
6为ArkWeb NDK接口发生异常提供错误码。
7
8提供注入对象和执行JavaScript代码的API接口。
9
10提供用于拦截ArkWeb请求的API。
11
12为ArkWeb网络协议栈提供错误码。
13
14提供ArkWeb在Native侧的能力,如网页刷新、执行JavaScript、注册回调等。
15
16**起始版本:** 12
17
18
19## 汇总
20
21
22### 文件
23
24| 名称 | 描述 | 
25| -------- | -------- |
26| [arkweb_error_code.h](arkweb__error__code_8h.md) | 声明ArkWeb NDK接口异常错误码。  <br> **库:** libohweb.so| 
27| [arkweb_interface.h](arkweb__interface_8h.md) | 提供ArkWeb在Native侧获取API的接口,及基础Native API类型。  <br> **库:** libohweb.so| 
28| [arkweb_net_error_list.h](arkweb__net__error__list_8h.md) | 声明ArkWeb网络协议栈错误码。  <br> **库:** libohweb.so| 
29| [arkweb_scheme_handler.h](arkweb__scheme__handler_8h.md) | 声明用于拦截来自ArkWeb的请求的API。  <br> **库:** libohweb.so| 
30| [arkweb_type.h](arkweb__type_8h.md) | 提供ArkWeb在Native侧的公共类型定义。  <br> **库:** libohweb.so| 
31| [native_interface_arkweb.h](native__interface__arkweb_8h.md) | 声明API接口供开发者使用注入对象和执行JavaScript代码等功能。  <br> **库:** libohweb.so| 
32
33
34### 结构体
35
36| 名称 | 描述 | 
37| -------- | -------- |
38| struct&nbsp;&nbsp;[ArkWeb_AnyNativeAPI](_ark_web___any_native_a_p_i.md) | 定义基础Native API类型。  | 
39| struct&nbsp;&nbsp;[ArkWeb_JavaScriptBridgeData](_ark_web___java_script_bridge_data.md) | 定义JavaScript Bridge数据的基础结构。  | 
40| struct&nbsp;&nbsp;[ArkWeb_JavaScriptObject](_ark_web___java_script_object.md) | 注入的JavaScript结构体。  | 
41| struct&nbsp;&nbsp;[ArkWeb_ProxyMethod](_ark_web___proxy_method.md) | 注入的Proxy方法通用结构体。  | 
42| struct&nbsp;&nbsp;[ArkWeb_ProxyObject](_ark_web___proxy_object.md) | 注入的Proxy对象通用结构体。  | 
43| struct&nbsp;&nbsp;[ArkWeb_ControllerAPI](_ark_web___controller_a_p_i.md) | Controller相关的Native API结构体。 在调用API前建议通过ARKWEB_MEMBER_MISSING校验该函数结构体是否有对应函数指针,避免SDK与设备ROM不匹配导致crash问题。  | 
44| struct&nbsp;&nbsp;[ArkWeb_ComponentAPI](_ark_web___component_a_p_i.md) | Component相关的Native API结构体。  | 
45| struct&nbsp;&nbsp;[ArkWeb_WebMessagePortAPI](_ark_web___web_message_port_a_p_i.md) | Post Message相关的Native API结构体。 在调用API前建议通过ARKWEB_MEMBER_MISSING校验该函数结构体是否有对应函数指针,避免SDK与设备ROM不匹配导致crash问题。  | 
46| struct&nbsp;&nbsp;[ArkWeb_WebMessageAPI](_ark_web___web_message_a_p_i.md) | Post Message数据相关的Native API结构体。 在调用API前建议通过ARKWEB_MEMBER_MISSING校验该函数结构体是否有对应函数指针,避免SDK与设备ROM不匹配导致crash问题。  | 
47| struct&nbsp;&nbsp;[ArkWeb_CookieManagerAPI](_ark_web___cookie_manager_a_p_i.md) | 定义了ArkWeb原生CookieManager接口。 在调用API之前,建议使用ARKWEB_MEMBER_MISSING检查函数结构体是否有对应的函数指针,避免SDK与设备ROM不匹配导致崩溃。  | 
48
49
50### 宏定义
51
52| 名称 | 描述 | 
53| -------- | -------- |
54| [ARKWEB_MEMBER_EXISTS](#arkweb_member_exists)(s, f)&nbsp;&nbsp;&nbsp;&nbsp;((intptr_t) &amp; ((s)-&gt;f) - (intptr_t)(s) + sizeof((s)-&gt;f) &lt;= \*reinterpret_cast&lt;size_t\*&gt;(s)) | 检查结构体中是否存在该成员变量。  | 
55| [ARKWEB_MEMBER_MISSING](#arkweb_member_missing)(s, f)&nbsp;&nbsp;&nbsp;(\![ARKWEB_MEMBER_EXISTS](#arkweb_member_exists)(s, f) \|\| !((s)-&gt;f)) | 当前结构体存在该成员变量则返回false,否则返回true。  | 
56
57
58### 类型定义
59
60| 名称 | 描述 | 
61| -------- | -------- |
62| typedef enum [ArkWeb_ErrorCode](#arkweb_errorcode) [ArkWeb_ErrorCode](#arkweb_errorcode) | 定义ArkWeb NDK接口异常错误码。  | 
63| typedef enum [ArkWeb_NetError](#arkweb_neterror) [ArkWeb_NetError](#arkweb_neterror) | 定义ArkWeb网络协议栈错误码。  | 
64| typedef enum [ArkWeb_CustomSchemeOption](#arkweb_customschemeoption) [ArkWeb_CustomSchemeOption](#arkweb_customschemeoption) | custom scheme的配置信息。  | 
65| typedef enum [ArkWeb_ResourceType](#arkweb_resourcetype) [ArkWeb_ResourceType](#arkweb_resourcetype) | 请求的资源类型。  | 
66| typedef struct ArkWeb_SchemeHandler_ [ArkWeb_SchemeHandler](#arkweb_schemehandler) | 该类用于拦截指定scheme的请求。  | 
67| typedef struct ArkWeb_ResourceHandler_ [ArkWeb_ResourceHandler](#arkweb_resourcehandler) | 用于被拦截的URL请求。  | 
68| typedef struct ArkWeb_Response_ [ArkWeb_Response](#arkweb_response) | 为被拦截的请求构造一个ArkWeb_Response。  | 
69| typedef struct ArkWeb_ResourceRequest_ [ArkWeb_ResourceRequest](#arkweb_resourcerequest) | 对应内核的一个请求,可以通过OH_ArkWeb_ResourceRequest获取请求的URL、method、post data以及其他信息。  | 
70| typedef struct ArkWeb_RequestHeaderList_ [ArkWeb_RequestHeaderList](#arkweb_requestheaderlist) | 请求头列表。  | 
71| typedef struct ArkWeb_HttpBodyStream_ [ArkWeb_HttpBodyStream](#arkweb_httpbodystream) | 请求的上传数据。  | 
72| typedef void(\* [ArkWeb_OnRequestStart](#arkweb_onrequeststart)) (const [ArkWeb_SchemeHandler](#arkweb_schemehandler) \*schemeHandler, [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest, const [ArkWeb_ResourceHandler](#arkweb_resourcehandler) \*resourceHandler, bool \*intercept) | 请求开始的回调,这将在IO线程上被调用。  | 
73| typedef void(\* [ArkWeb_OnRequestStop](#arkweb_onrequeststop)) (const [ArkWeb_SchemeHandler](#arkweb_schemehandler) \*schemeHandler, const [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest) | 请求完成时的回调函数。  | 
74| typedef void(\* [ArkWeb_HttpBodyStreamReadCallback](#arkweb_httpbodystreamreadcallback)) (const [ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*httpBodyStream, uint8_t \*buffer, int bytesRead) | 当OH_ArkWebHttpBodyStream_Read读取操作完成时的回调函数。  | 
75| typedef void(\* [ArkWeb_HttpBodyStreamInitCallback](#arkweb_httpbodystreaminitcallback)) (const [ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*httpBodyStream, [ArkWeb_NetError](#arkweb_neterror) result) | ArkWeb_HttpBodyStream初始化操作完成时回调函数。  | 
76| typedef enum [ArkWeb_WebMessageType](#arkweb_webmessagetype) [ArkWeb_WebMessageType](#arkweb_webmessagetype) | Post Message数据类型。  | 
77| typedef struct ArkWeb_WebMessage \* [ArkWeb_WebMessagePtr](#arkweb_webmessageptr) | Post Message数据结构体指针。  | 
78| typedef void(\* [ArkWeb_OnJavaScriptCallback](#arkweb_onjavascriptcallback)) (const char \*webTag, const [ArkWeb_JavaScriptBridgeData](_ark_web___java_script_bridge_data.md) \*data, void \*userData) | 注入的JavaScript执行完成的回调。  | 
79| typedef void(\* [ArkWeb_OnJavaScriptProxyCallback](#arkweb_onjavascriptproxycallback)) (const char \*webTag, const [ArkWeb_JavaScriptBridgeData](_ark_web___java_script_bridge_data.md) \*dataArray, size_t arraySize, void \*userData) | Proxy方法被执行的回调。  | 
80| typedef void(\* [ArkWeb_OnComponentCallback](#arkweb_oncomponentcallback)) (const char \*webTag, void \*userData) | 组件事件通知相关的通用回调。  | 
81| typedef struct ArkWeb_WebMessagePort \* [ArkWeb_WebMessagePortPtr](#arkweb_webmessageportptr) | Post Message端口结构体指针。  | 
82| typedef void(\* [ArkWeb_OnMessageEventHandler](#arkweb_onmessageeventhandler)) (const char \*webTag, const [ArkWeb_WebMessagePortPtr](#arkweb_webmessageportptr) port, const [ArkWeb_WebMessagePtr](#arkweb_webmessageptr) message, void \*userData) | 处理HTML发送过来的Post Message数据。  | 
83| typedef void(\* [NativeArkWeb_OnJavaScriptCallback](#nativearkweb_onjavascriptcallback)) (const char \*) | 定义执行JavaScript代码后返回结果的回调函数的类型。  | 
84| typedef char \*(\* [NativeArkWeb_OnJavaScriptProxyCallback](#nativearkweb_onjavascriptproxycallback)) (const char \*\*argv, int32_t argc) | 定义注入对象的回调函数的类型。  | 
85| typedef void(\* [NativeArkWeb_OnValidCallback](#nativearkweb_onvalidcallback)) (const char \*) | 定义Web组件可用时的回调函数的类型。  | 
86| typedef void(\* [NativeArkWeb_OnDestroyCallback](#nativearkweb_ondestroycallback)) (const char \*) | 定义Web组件销毁时的回调函数的类型。  | 
87
88
89### 枚举
90
91| 名称 | 描述 | 
92| -------- | -------- |
93| [ArkWeb_ErrorCode](#arkweb_errorcode) {<br/>ARKWEB_SUCCESS = 0, ARKWEB_INIT_ERROR = 17100001, ARKWEB_ERROR_UNKNOWN = 17100100, ARKWEB_INVALID_PARAM = 17100101,<br/>ARKWEB_SCHEME_REGISTER_FAILED = 17100102, ARKWEB_INVALID_URL = 17100103, ARKWEB_INVALID_COOKIE_VALUE = 17100104<br/>} | 定义ArkWeb NDK接口异常错误码。  | 
94| [ArkWeb_NativeAPIVariantKind](#arkweb_nativeapivariantkind) {<br/>ARKWEB_NATIVE_COMPONENT, ARKWEB_NATIVE_CONTROLLER, ARKWEB_NATIVE_WEB_MESSAGE_PORT, ARKWEB_NATIVE_WEB_MESSAGE,<br/>ARKWEB_NATIVE_COOKIE_MANAGER<br/>} | 定义Native API的类型枚举。  | 
95| [ArkWeb_NetError](#arkweb_neterror) {<br/>ARKWEB_NET_OK = 0, ARKWEB_ERR_IO_PENDING = -1, ARKWEB_ERR_FAILED = -2, ARKWEB_ERR_ABORTED = -3,<br/>ARKWEB_ERR_INVALID_ARGUMENT = -4, ARKWEB_ERR_INVALID_HANDLE = -5, ARKWEB_ERR_FILE_NOT_FOUND = -6, ARKWEB_ERR_TIMED_OUT = -7,<br/>ARKWEB_ERR_FILE_TOO_LARGE = -8, ARKWEB_ERR_UNEXPECTED = -9, ARKWEB_ERR_ACCESS_DENIED = -10, ARKWEB_ERR_NOT_IMPLEMENTED = -11,<br/>ARKWEB_ERR_INSUFFICIENT_RESOURCES = -12, ARKWEB_ERR_OUT_OF_MEMORY = -13, ARKWEB_ERR_UPLOAD_FILE_CHANGED = -14, ARKWEB_ERR_SOCKET_NOT_CONNECTED = -15,<br/>ARKWEB_ERR_FILE_EXISTS = -16, ARKWEB_ERR_FILE_PATH_TOO_LONG = -17, ARKWEB_ERR_FILE_NO_SPACE = -18, ARKWEB_ERR_FILE_VIRUS_INFECTED = -19,<br/>ARKWEB_ERR_BLOCKED_BY_CLIENT = -20, ARKWEB_ERR_NETWORK_CHANGED = -21, ARKWEB_ERR_BLOCKED_BY_ADMINISTRATOR = -22, ARKWEB_ERR_SOCKET_CONNECTED = -23,<br/>ARKWEB_ERR_UPLOAD_STREAM_REWIND_NOT_SUPPORTED = -25, ARKWEB_ERR_CONTEXT_SHUT_DOWN = -26, ARKWEB_ERR_BLOCKED_BY_RESPONSE = -27, ARKWEB_ERR_CLEARTEXT_NOT_PERMITTED = -29,<br/>ARKWEB_ERR_BLOCKED_BY_CSP = -30, ARKWEB_ERR_H2_OR_QUIC_REQUIRED = -31, ARKWEB_ERR_BLOCKED_BY_ORB = -32, ARKWEB_ERR_CONNECTION_CLOSED = -100,<br/>ARKWEB_ERR_CONNECTION_RESET = -101, ARKWEB_ERR_CONNECTION_REFUSED = -102, ARKWEB_ERR_CONNECTION_ABORTED = -103, ARKWEB_ERR_CONNECTION_FAILED = -104,<br/>ARKWEB_ERR_NAME_NOT_RESOLVED = -105, ARKWEB_ERR_INTERNET_DISCONNECTED = -106, ARKWEB_ERR_SSL_PROTOCOL_ERROR = -107, ARKWEB_ERR_ADDRESS_INVALID = -108,<br/>ARKWEB_ERR_ADDRESS_UNREACHABLE = -109, ARKWEB_ERR_SSL_CLIENT_AUTH_CERT_NEEDED = -110, ARKWEB_ERR_TUNNEL_CONNECTION_FAILED = -111, ARKWEB_ERR_NO_SSL_VERSIONS_ENABLED = -112,<br/>ARKWEB_ERR_SSL_VERSION_OR_CIPHER_MISMATCH = -113, ARKWEB_ERR_SSL_RENEGOTIATION_REQUESTED = -114, ARKWEB_ERR_PROXY_AUTH_UNSUPPORTED = -115, ARKWEB_ERR_BAD_SSL_CLIENT_AUTH_CERT = -117,<br/>ARKWEB_ERR_CONNECTION_TIMED_OUT = -118, ARKWEB_ERR_HOST_RESOLVER_QUEUE_TOO_LARGE = -119, ARKWEB_ERR_SOCKS_CONNECTION_FAILED = -120, ARKWEB_ERR_SOCKS_CONNECTION_HOST_UNREACHABLE = -121,<br/>ARKWEB_ERR_ALPN_NEGOTIATION_FAILED = -122, ARKWEB_ERR_SSL_NO_RENEGOTIATION = -123, ARKWEB_ERR_WINSOCK_UNEXPECTED_WRITTEN_BYTES = -124, ARKWEB_ERR_SSL_DECOMPRESSION_FAILURE_ALERT = -125,<br/>ARKWEB_ERR_SSL_BAD_RECORD_MAC_ALERT = -126, ARKWEB_ERR_PROXY_AUTH_REQUESTED = -127, ARKWEB_ERR_PROXY_CONNECTION_FAILED = -130, ARKWEB_ERR_MANDATORY_PROXY_CONFIGURATION_FAILED = -131,<br/>ARKWEB_ERR_PRECONNECT_MAX_SOCKET_LIMIT = -133, ARKWEB_ERR_SSL_CLIENT_AUTH_PRIVATE_KEY_ACCESS_DENIED = -134, ARKWEB_ERR_SSL_CLIENT_AUTH_CERT_NO_PRIVATE_KEY = -135, ARKWEB_ERR_PROXY_CERTIFICATE_INVALID = -136,<br/>ARKWEB_ERR_NAME_RESOLUTION_FAILED = -137, ARKWEB_ERR_NETWORK_ACCESS_DENIED = -138, ARKWEB_ERR_TEMPORARILY_THROTTLED = -139, ARKWEB_ERR_HTTPS_PROXY_TUNNEL_RESPONSE_REDIRECT = -140,<br/>ARKWEB_ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED = -141, ARKWEB_ERR_MSG_TOO_BIG = -142, ARKWEB_ERR_WS_PROTOCOL_ERROR = -145, ARKWEB_ERR_ADDRESS_IN_USE = -147,<br/>ARKWEB_ERR_SSL_HANDSHAKE_NOT_COMPLETED = -148, ARKWEB_ERR_SSL_BAD_PEER_PUBLIC_KEY = -149, ARKWEB_ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN = -150, ARKWEB_ERR_CLIENT_AUTH_CERT_TYPE_UNSUPPORTED = -151,<br/>ARKWEB_ERR_SSL_DECRYPT_ERROR_ALERT = -153, ARKWEB_ERR_WS_THROTTLE_QUEUE_TOO_LARGE = -154, ARKWEB_ERR_SSL_SERVER_CERT_CHANGED = -156, ARKWEB_ERR_SSL_UNRECOGNIZED_NAME_ALERT = -159,<br/>ARKWEB_ERR_SOCKET_SET_RECEIVE_BUFFER_SIZE_ERROR = -160, ARKWEB_ERR_SOCKET_SET_SEND_BUFFER_SIZE_ERROR = -161, ARKWEB_ERR_SOCKET_RECEIVE_BUFFER_SIZE_UNCHANGEABLE = -162, ARKWEB_ERR_SOCKET_SEND_BUFFER_SIZE_UNCHANGEABLE = -163,<br/>ARKWEB_ERR_SSL_CLIENT_AUTH_CERT_BAD_FORMAT = -164, ARKWEB_ERR_ICANN_NAME_COLLISION = -166, ARKWEB_ERR_SSL_SERVER_CERT_BAD_FORMAT = -167, ARKWEB_ERR_CT_STH_PARSING_FAILED = -168,<br/>ARKWEB_ERR_CT_STH_INCOMPLETE = -169, ARKWEB_ERR_UNABLE_TO_REUSE_CONNECTION_FOR_PROXY_AUTH = -170, ARKWEB_ERR_CT_CONSISTENCY_PROOF_PARSING_FAILED = -171, ARKWEB_ERR_SSL_OBSOLETE_CIPHER = -172,<br/>ARKWEB_ERR_WS_UPGRADE = -173, ARKWEB_ERR_READ_IF_READY_NOT_IMPLEMENTED = -174, ARKWEB_ERR_NO_BUFFER_SPACE = -176, ARKWEB_ERR_SSL_CLIENT_AUTH_NO_COMMON_ALGORITHMS = -177,<br/>ARKWEB_ERR_EARLY_DATA_REJECTED = -178, ARKWEB_ERR_WRONG_VERSION_ON_EARLY_DATA = -179, ARKWEB_ERR_TLS13_DOWNGRADE_DETECTED = -180, ARKWEB_ERR_SSL_KEY_USAGE_INCOMPATIBLE = -181,<br/>ARKWEB_ERR_INVALID_ECH_CONFIG_LIST = -182, ARKWEB_ERR_ECH_NOT_NEGOTIATED = -183, ARKWEB_ERR_ECH_FALLBACK_CERTIFICATE_INVALID = -184, ARKWEB_ERR_CERT_COMMON_NAME_INVALID = -200,<br/>ARKWEB_ERR_CERT_DATE_INVALID = -201, ARKWEB_ERR_CERT_AUTHORITY_INVALID = -202, ARKWEB_ERR_CERT_CONTAINS_ERRORS = -203, ARKWEB_ERR_CERT_NO_REVOCATION_MECHANISM = -204,<br/>ARKWEB_ERR_CERT_UNABLE_TO_CHECK_REVOCATION = -205, ARKWEB_ERR_CERT_REVOKED = -206, ARKWEB_ERR_CERT_INVALID = -207, ARKWEB_ERR_CERT_WEAK_SIGNATURE_ALGORITHM = -208,<br/>ARKWEB_ERR_CERT_NON_UNIQUE_NAME = -210, ARKWEB_ERR_CERT_WEAK_KEY = -211, ARKWEB_ERR_CERT_NAME_CONSTRAINT_VIOLATION = -212, ARKWEB_ERR_CERT_VALIDITY_TOO_LONG = -213,<br/>ARKWEB_ERR_CERTIFICATE_TRANSPARENCY_REQUIRED = -214, ARKWEB_ERR_CERT_SYMANTEC_LEGACY = -215, ARKWEB_ERR_CERT_KNOWN_INTERCEPTION_BLOCKED = -217, ARKWEB_ERR_SSL_OBSOLETE_VERSION_OR_CIPHER = -218,<br/>ARKWEB_ERR_CERT_END = -219, ARKWEB_ERR_INVALID_URL = -300, ARKWEB_ERR_DISALLOWED_URL_SCHEME = -301, ARKWEB_ERR_UNKNOWN_URL_SCHEME = -302,<br/>ARKWEB_ERR_INVALID_REDIRECT = -303, ARKWEB_ERR_TOO_MANY_REDIRECTS = -310, ARKWEB_ERR_UNSAFE_REDIRECT = -311, ARKWEB_ERR_UNSAFE_PORT = -312,<br/>ARKWEB_ERR_INVALID_RESPONSE = -320, ARKWEB_ERR_INVALID_CHUNKED_ENCODING = -321, ARKWEB_ERR_METHOD_UNSUPPORTED = -322, ARKWEB_ERR_UNEXPECTED_PROXY_AUTH = -323,<br/>ARKWEB_ERR_EMPTY_RESPONSE = -324, ARKWEB_ERR_RESPONSE_HEADERS_TOO_BIG = -325, ARKWEB_ERR_PAC_SCRIPT_FAILED = -327, ARKWEB_ERR_REQUEST_RANGE_NOT_SATISFIABLE = -328,<br/>ARKWEB_ERR_MALFORMED_IDENTITY = -329, ARKWEB_ERR_CONTENT_DECODING_FAILED = -330, ARKWEB_ERR_NETWORK_IO_SUSPENDED = -331, ARKWEB_ERR_SYN_REPLY_NOT_RECEIVED = -332,<br/>ARKWEB_ERR_ENCODING_CONVERSION_FAILED = -333, ARKWEB_ERR_UNRECOGNIZED_FTP_DIRECTORY_LISTING_FORMAT = -334, ARKWEB_ERR_NO_SUPPORTED_PROXIES = -336, ARKWEB_ERR_HTTP2_PROTOCOL_ERROR = -337,<br/>ARKWEB_ERR_INVALID_AUTH_CREDENTIALS = -338, ARKWEB_ERR_UNSUPPORTED_AUTH_SCHEME = -339, ARKWEB_ERR_ENCODING_DETECTION_FAILED = -340, ARKWEB_ERR_MISSING_AUTH_CREDENTIALS = -341,<br/>ARKWEB_ERR_UNEXPECTED_SECURITY_LIBRARY_STATUS = -342, ARKWEB_ERR_MISCONFIGURED_AUTH_ENVIRONMENT = -343, ARKWEB_ERR_UNDOCUMENTED_SECURITY_LIBRARY_STATUS = -344, ARKWEB_ERR_RESPONSE_BODY_TOO_BIG_TO_DRAIN = -345,<br/>ARKWEB_ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH = -346, ARKWEB_ERR_INCOMPLETE_HTTP2_HEADERS = -347, ARKWEB_ERR_PAC_NOT_IN_DHCP = -348, ARKWEB_ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION = -349,<br/>ARKWEB_ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION = -350, ARKWEB_ERR_HTTP2_SERVER_REFUSED_STREAM = -351, ARKWEB_ERR_HTTP2_PING_FAILED = -352, ARKWEB_ERR_CONTENT_LENGTH_MISMATCH = -354,<br/>ARKWEB_ERR_INCOMPLETE_CHUNKED_ENCODING = -355, ARKWEB_ERR_QUIC_PROTOCOL_ERROR = -356, ARKWEB_ERR_RESPONSE_HEADERS_TRUNCATED = -357, ARKWEB_ERR_QUIC_HANDSHAKE_FAILED = -358,<br/>ARKWEB_ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY = -360, ARKWEB_ERR_HTTP2_FLOW_CONTROL_ERROR = -361, ARKWEB_ERR_HTTP2_FRAME_SIZE_ERROR = -362, ARKWEB_ERR_HTTP2_COMPRESSION_ERROR = -363,<br/>ARKWEB_ERR_PROXY_AUTH_REQUESTED_WITH_NO_CONNECTION = -364, ARKWEB_ERR_HTTP_1_1_REQUIRED = -365, ARKWEB_ERR_PROXY_HTTP_1_1_REQUIRED = -366, ARKWEB_ERR_PAC_SCRIPT_TERMINATED = -367,<br/>ARKWEB_ERR_INVALID_HTTP_RESPONSE = -370, ARKWEB_ERR_CONTENT_DECODING_INIT_FAILED = -371, ARKWEB_ERR_HTTP2_RST_STREAM_NO_ERROR_RECEIVED = -372, ARKWEB_ERR_HTTP2_PUSHED_STREAM_NOT_AVAILABLE = -373,<br/>ARKWEB_ERR_HTTP2_CLAIMED_PUSHED_STREAM_RESET_BY_SERVER = -374, ARKWEB_ERR_TOO_MANY_RETRIES = -375, ARKWEB_ERR_HTTP2_STREAM_CLOSED = -376, ARKWEB_ERR_HTTP2_CLIENT_REFUSED_STREAM = -377,<br/>ARKWEB_ERR_HTTP2_PUSHED_RESPONSE_DOES_NOT_MATCH = -378, ARKWEB_ERR_HTTP_RESPONSE_CODE_FAILURE = -379, ARKWEB_ERR_QUIC_UNKNOWN_CERT_ROOT = -380, ARKWEB_ERR_QUIC_GOAWAY_REQUEST_CAN_BE_RETRIED = -381,<br/>ARKWEB_ERR_TOO_MANY_ACCEPT_CH_RESTARTS = -382, ARKWEB_ERR_INCONSISTENT_IP_ADDRESS_SPACE = -383, ARKWEB_ERR_CACHED_IP_ADDRESS_SPACE_BLOCKED_BY_LOCAL_NETWORK_ACCESS_POLICY = -384, ARKWEB_ERR_CACHE_MISS = -400,<br/>ARKWEB_ERR_CACHE_READ_FAILURE = -401, ARKWEB_ERR_CACHE_WRITE_FAILURE = -402, ARKWEB_ERR_CACHE_OPERATION_UNSUPPORTED = -403, ARKWEB_ERR_CACHE_OPEN_FAILURE = -404,<br/>ARKWEB_ERR_CACHE_CREATE_FAILURE = -405, ARKWEB_ERR_CACHE_RACE = -406, ARKWEB_ERR_CACHE_CHECKSUM_READ_FAILURE = -407, ARKWEB_ERR_CACHE_CHECKSUM_MISMATCH = -408,<br/>ARKWEB_ERR_CACHE_LOCK_TIMEOUT = -409, ARKWEB_ERR_CACHE_AUTH_FAILURE_AFTER_READ = -410, ARKWEB_ERR_CACHE_ENTRY_NOT_SUITABLE = -411, ARKWEB_ERR_CACHE_DOOM_FAILURE = -412,<br/>ARKWEB_ERR_CACHE_OPEN_OR_CREATE_FAILURE = -413, ARKWEB_ERR_INSECURE_RESPONSE = -501, ARKWEB_ERR_NO_PRIVATE_KEY_FOR_CERT = -502, ARKWEB_ERR_ADD_USER_CERT_FAILED = -503,<br/>ARKWEB_ERR_INVALID_SIGNED_EXCHANGE = -504, ARKWEB_ERR_INVALID_WEB_BUNDLE = -505, ARKWEB_ERR_TRUST_TOKEN_OPERATION_FAILED = -506, ARKWEB_ERR_TRUST_TOKEN_OPERATION_SUCCESS_WITHOUT_SENDING_REQUEST = -507,<br/>ARKWEB_ERR_FTP_FAILED = -601, ARKWEB_ERR_FTP_SERVICE_UNAVAILABLE = -602, ARKWEB_ERR_FTP_TRANSFER_ABORTED = -603, ARKWEB_ERR_FTP_FILE_BUSY = -604,<br/>ARKWEB_ERR_FTP_SYNTAX_ERROR = -605, ARKWEB_ERR_FTP_COMMAND_UNSUPPORTED = -606, ARKWEB_ERR_FTP_BAD_COMMAND_SEQUENCE = -607, ARKWEB_ERR_PKCS12_IMPORT_BAD_PASSWORD = -701,<br/>ARKWEB_ERR_PKCS12_IMPORT_FAILED = -702, ARKWEB_ERR_IMPORT_CA_CERT_NOT_CA = -703, ARKWEB_ERR_IMPORT_CERT_ALREADY_EXISTS = -704, ARKWEB_ERR_IMPORT_CA_CERT_FAILED = -705,<br/>ARKWEB_ERR_IMPORT_SERVER_CERT_FAILED = -706, ARKWEB_ERR_PKCS12_IMPORT_INVALID_MAC = -707, ARKWEB_ERR_PKCS12_IMPORT_INVALID_FILE = -708, ARKWEB_ERR_PKCS12_IMPORT_UNSUPPORTED = -709,<br/>ARKWEB_ERR_KEY_GENERATION_FAILED = -710, ARKWEB_ERR_PRIVATE_KEY_EXPORT_FAILED = -712, ARKWEB_ERR_SELF_SIGNED_CERT_GENERATION_FAILED = -713, ARKWEB_ERR_CERT_DATABASE_CHANGED = -714,<br/>ARKWEB_ERR_CERT_VERIFIER_CHANGED = -716, ARKWEB_ERR_DNS_MALFORMED_RESPONSE = -800, ARKWEB_ERR_DNS_SERVER_REQUIRES_TCP = -801, ARKWEB_ERR_DNS_SERVER_FAILED = -802,<br/>ARKWEB_ERR_DNS_TIMED_OUT = -803, ARKWEB_ERR_DNS_CACHE_MISS = -804, ARKWEB_ERR_DNS_SEARCH_EMPTY = -805, ARKWEB_ERR_DNS_SORT_ERROR = -806,<br/>ARKWEB_ERR_DNS_SECURE_RESOLVER_HOSTNAME_RESOLUTION_FAILED = -808, ARKWEB_ERR_DNS_NAME_HTTPS_ONLY = -809, ARKWEB_ERR_DNS_REQUEST_CANCELED = -810, ARKWEB_ERR_DNS_NO_MATCHING_SUPPORTED_ALPN = -811<br/>} | 定义ArkWeb网络协议栈错误码。  | 
96| [ArkWeb_CustomSchemeOption](#arkweb_customschemeoption) {<br/>**OH_ARKWEB_SCHEME_OPTION_NONE** = 0, ARKWEB_SCHEME_OPTION_STANDARD = 1 &lt;&lt; 0, ARKWEB_SCHEME_OPTION_LOCAL = 1 &lt;&lt; 1, ARKWEB_SCHEME_OPTION_DISPLAY_ISOLATED = 1 &lt;&lt; 2,<br/>ARKWEB_SCHEME_OPTION_SECURE = 1 &lt;&lt; 3, ARKWEB_SCHEME_OPTION_CORS_ENABLED = 1 &lt;&lt; 4, ARKWEB_SCHEME_OPTION_CSP_BYPASSING = 1 &lt;&lt; 5, ARKWEB_SCHEME_OPTION_FETCH_ENABLED = 1 &lt;&lt; 6,<br/>ARKWEB_SCHEME_OPTION_CODE_CACHE_ENABLED = 1 &lt;&lt; 7<br/>} | custom scheme的配置信息。  | 
97| [ArkWeb_ResourceType](#arkweb_resourcetype) {<br/>MAIN_FRAME = 0, SUB_FRAME = 1, STYLE_SHEET = 2, SCRIPT = 3,<br/>IMAGE = 4, FONT_RESOURCE = 5, SUB_RESOURCE = 6, OBJECT = 7,<br/>MEDIA = 8, WORKER = 9, SHARED_WORKER = 10, PREFETCH = 11,<br/>FAVICON = 12, XHR = 13, PING = 14, SERVICE_WORKER = 15,<br/>CSP_REPORT = 16, PLUGIN_RESOURCE = 17, NAVIGATION_PRELOAD_MAIN_FRAME = 19, NAVIGATION_PRELOAD_SUB_FRAME = 20<br/>} | 请求的资源类型。  | 
98| [ArkWeb_WebMessageType](#arkweb_webmessagetype) { ARKWEB_NONE = 0, ARKWEB_STRING, ARKWEB_BUFFER } | Post Message数据类型。  | 
99
100
101### 函数
102
103| 名称 | 描述 | 
104| -------- | -------- |
105| [ArkWeb_AnyNativeAPI](_ark_web___any_native_a_p_i.md) \* [OH_ArkWeb_GetNativeAPI](#oh_arkweb_getnativeapi) ([ArkWeb_NativeAPIVariantKind](#arkweb_nativeapivariantkind) type) | 根据传入的API类型,获取对应的Native API结构体。  | 
106| void [OH_ArkWebRequestHeaderList_Destroy](#oh_arkwebrequestheaderlist_destroy) ([ArkWeb_RequestHeaderList](#arkweb_requestheaderlist) \*requestHeaderList) | 销毁ArkWeb_RequestHeaderList对象。  | 
107| int32_t [OH_ArkWebRequestHeaderList_GetSize](#oh_arkwebrequestheaderlist_getsize) (const [ArkWeb_RequestHeaderList](#arkweb_requestheaderlist) \*requestHeaderList) | 获取请求头列表的大小。  | 
108| void [OH_ArkWebRequestHeaderList_GetHeader](#oh_arkwebrequestheaderlist_getheader) (const [ArkWeb_RequestHeaderList](#arkweb_requestheaderlist) \*requestHeaderList, int32_t index, char \*\*key, char \*\*value) | 获取指定的请求头。  | 
109| int32_t [OH_ArkWebResourceRequest_SetUserData](#oh_arkwebresourcerequest_setuserdata) ([ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest, void \*userData) | 将一个用户数据设置到ArkWeb_ResourceRequest对象中。  | 
110| void \* [OH_ArkWebResourceRequest_GetUserData](#oh_arkwebresourcerequest_getuserdata) (const [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest) | 从ArkWeb_ResourceRequest获取用户数据。  | 
111| void [OH_ArkWebResourceRequest_GetMethod](#oh_arkwebresourcerequest_getmethod) (const [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest, char \*\*method) | 获取请求的method。  | 
112| void [OH_ArkWebResourceRequest_GetUrl](#oh_arkwebresourcerequest_geturl) (const [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest, char \*\*url) | 获取请求的url。  | 
113| void [OH_ArkWebResourceRequest_GetHttpBodyStream](#oh_arkwebresourcerequest_gethttpbodystream) (const [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest, [ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*\*httpBodyStream) | 创建一个ArkWeb_HttpBodyStream,用于读取请求的上传数据。  | 
114| void [OH_ArkWebResourceRequest_DestroyHttpBodyStream](#oh_arkwebresourcerequest_destroyhttpbodystream) ([ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*httpBodyStream) | 销毁ArkWeb_HttpBodyStream对象。  | 
115| int32_t [OH_ArkWebResourceRequest_GetResourceType](#oh_arkwebresourcerequest_getresourcetype) (const [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest) | 获取请求的资源类型。  | 
116| void [OH_ArkWebResourceRequest_GetFrameUrl](#oh_arkwebresourcerequest_getframeurl) (const [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest, char \*\*frameUrl) | 获取触发此请求的Frame的URL。  | 
117| int32_t [OH_ArkWebHttpBodyStream_SetUserData](#oh_arkwebhttpbodystream_setuserdata) ([ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*httpBodyStream, void \*userData) | 将一个用户数据设置到ArkWeb_HttpBodyStream对象中。  | 
118| void \* [OH_ArkWebHttpBodyStream_GetUserData](#oh_arkwebhttpbodystream_getuserdata) (const [ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*httpBodyStream) | 从ArkWeb_HttpBodyStream获取用户数据。  | 
119| int32_t [OH_ArkWebHttpBodyStream_SetReadCallback](#oh_arkwebhttpbodystream_setreadcallback) ([ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*httpBodyStream, [ArkWeb_HttpBodyStreamReadCallback](#arkweb_httpbodystreamreadcallback) readCallback) | 为OH_ArkWebHttpBodyStream_Read设置回调函数。  | 
120| int32_t [OH_ArkWebHttpBodyStream_Init](#oh_arkwebhttpbodystream_init) ([ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*httpBodyStream, [ArkWeb_HttpBodyStreamInitCallback](#arkweb_httpbodystreaminitcallback) initCallback) | 初始化ArkWeb_HttpBodyStream。  | 
121| void [OH_ArkWebHttpBodyStream_Read](#oh_arkwebhttpbodystream_read) (const [ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*httpBodyStream, uint8_t \*buffer, int bufLen) | 将请求的上传数据读取到buffer。  | 
122| uint64_t [OH_ArkWebHttpBodyStream_GetSize](#oh_arkwebhttpbodystream_getsize) (const [ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*httpBodyStream) | 获取httpBodyStream的大小。  | 
123| uint64_t [OH_ArkWebHttpBodyStream_GetPosition](#oh_arkwebhttpbodystream_getposition) (const [ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*httpBodyStream) | 获取httpBodyStream当前的读取位置。  | 
124| bool [OH_ArkWebHttpBodyStream_IsChunked](#oh_arkwebhttpbodystream_ischunked) (const [ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*httpBodyStream) | 获取httpBodyStream是否采用分块传输。  | 
125| bool [OH_ArkWebHttpBodyStream_IsEof](#oh_arkwebhttpbodystream_iseof) (const [ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*httpBodyStream) | 如果httpBodyStream中的所有数据都已被读取,则返回true。  | 
126| bool [OH_ArkWebHttpBodyStream_IsInMemory](#oh_arkwebhttpbodystream_isinmemory) (const [ArkWeb_HttpBodyStream](#arkweb_httpbodystream) \*httpBodyStream) | 如果httpBodyStream中的上传数据完全在内存中,并且所有读取请求都将同步成功,则返回true。  | 
127| int32_t [OH_ArkWebResourceRequest_Destroy](#oh_arkwebresourcerequest_destroy) (const [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest) | 销毁ArkWeb_ResourceRequest对象。  | 
128| void [OH_ArkWebResourceRequest_GetReferrer](#oh_arkwebresourcerequest_getreferrer) (const [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest, char \*\*referrer) | 获取请求的Referrer。  | 
129| void [OH_ArkWebResourceRequest_GetRequestHeaders](#oh_arkwebresourcerequest_getrequestheaders) (const [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest, [ArkWeb_RequestHeaderList](#arkweb_requestheaderlist) \*\*requestHeaderList) | 获取请求的请求头列表OH_ArkWeb_RequestHeaderList。  | 
130| bool [OH_ArkWebResourceRequest_IsRedirect](#oh_arkwebresourcerequest_isredirect) (const [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest) | 判断这是否是一个重定向请求。  | 
131| bool [OH_ArkWebResourceRequest_IsMainFrame](#oh_arkwebresourcerequest_ismainframe) (const [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest) | 判断这是否是主框架文档资源的请求。  | 
132| bool [OH_ArkWebResourceRequest_HasGesture](#oh_arkwebresourcerequest_hasgesture) (const [ArkWeb_ResourceRequest](#arkweb_resourcerequest) \*resourceRequest) | 判断这是否是一个由用户手势触发的请求。  | 
133| int32_t [OH_ArkWeb_RegisterCustomSchemes](#oh_arkweb_registercustomschemes) (const char \*scheme, int32_t option) | 将custom scheme注册到ArkWeb。  | 
134| bool [OH_ArkWebServiceWorker_SetSchemeHandler](#oh_arkwebserviceworker_setschemehandler) (const char \*scheme, [ArkWeb_SchemeHandler](#arkweb_schemehandler) \*schemeHandler) | 为指定scheme设置一个ArkWeb_SchemeHandler以拦截ServiceWorker触发的该scheme类型的请求。  | 
135| bool [OH_ArkWeb_SetSchemeHandler](#oh_arkweb_setschemehandler) (const char \*scheme, const char \*webTag, [ArkWeb_SchemeHandler](#arkweb_schemehandler) \*schemeHandler) | 为指定scheme设置一个ArkWeb_SchemeHandler以拦截该scheme类型的请求。  | 
136| int32_t [OH_ArkWebServiceWorker_ClearSchemeHandlers](#oh_arkwebserviceworker_clearschemehandlers) () | 清除为ServiceWorker注册的SchemeHandler。  | 
137| int32_t [OH_ArkWeb_ClearSchemeHandlers](#oh_arkweb_clearschemehandlers) (const char \*webTag) | 清除为指定web注册的SchemeHandler。  | 
138| void [OH_ArkWeb_CreateSchemeHandler](#oh_arkweb_createschemehandler) ([ArkWeb_SchemeHandler](#arkweb_schemehandler) \*\*schemeHandler) | 创建一个ArkWeb_SchemeHandler对象。  | 
139| void [OH_ArkWeb_DestroySchemeHandler](#oh_arkweb_destroyschemehandler) ([ArkWeb_SchemeHandler](#arkweb_schemehandler) \*schemeHandler) | 销毁一个ArkWeb_SchemeHandler对象。  | 
140| int32_t [OH_ArkWebSchemeHandler_SetUserData](#oh_arkwebschemehandler_setuserdata) ([ArkWeb_SchemeHandler](#arkweb_schemehandler) \*schemeHandler, void \*userData) | 将一个用户数据设置到ArkWeb_SchemeHandler对象中。  | 
141| void \* [OH_ArkWebSchemeHandler_GetUserData](#oh_arkwebschemehandler_getuserdata) (const [ArkWeb_SchemeHandler](#arkweb_schemehandler) \*schemeHandler) | 从ArkWeb_SchemeHandler获取用户数据。  | 
142| int32_t [OH_ArkWebSchemeHandler_SetOnRequestStart](#oh_arkwebschemehandler_setonrequeststart) ([ArkWeb_SchemeHandler](#arkweb_schemehandler) \*schemeHandler, [ArkWeb_OnRequestStart](#arkweb_onrequeststart) onRequestStart) | 为SchemeHandler设置OnRequestStart回调。  | 
143| int32_t [OH_ArkWebSchemeHandler_SetOnRequestStop](#oh_arkwebschemehandler_setonrequeststop) ([ArkWeb_SchemeHandler](#arkweb_schemehandler) \*schemeHandler, [ArkWeb_OnRequestStop](#arkweb_onrequeststop) onRequestStop) | 为SchemeHandler设置OnRequestStop回调。  | 
144| void [OH_ArkWeb_CreateResponse](#oh_arkweb_createresponse) ([ArkWeb_Response](#arkweb_response) \*\*response) | 为被拦截的请求创建一个ArkWeb_Response对象。  | 
145| void [OH_ArkWeb_DestroyResponse](#oh_arkweb_destroyresponse) ([ArkWeb_Response](#arkweb_response) \*response) | 销毁一个ArkWeb_Response对象。  | 
146| int32_t [OH_ArkWebResponse_SetUrl](#oh_arkwebresponse_seturl) ([ArkWeb_Response](#arkweb_response) \*response, const char \*url) | 设置经过重定向或由于HSTS而改变后的解析URL,设置后会触发跳转。  | 
147| void [OH_ArkWebResponse_GetUrl](#oh_arkwebresponse_geturl) (const [ArkWeb_Response](#arkweb_response) \*response, char \*\*url) | 获取经过重定向或由于HSTS而更改后的解析URL。  | 
148| int32_t [OH_ArkWebResponse_SetError](#oh_arkwebresponse_seterror) ([ArkWeb_Response](#arkweb_response) \*response, [ArkWeb_NetError](#arkweb_neterror) errorCode) | 给ArkWeb_Response对象设置一个错误码。  | 
149| [ArkWeb_NetError](#arkweb_neterror) [OH_ArkWebResponse_GetError](#oh_arkwebresponse_geterror) (const [ArkWeb_Response](#arkweb_response) \*response) | 获取ArkWeb_Response的错误码。  | 
150| int32_t [OH_ArkWebResponse_SetStatus](#oh_arkwebresponse_setstatus) ([ArkWeb_Response](#arkweb_response) \*response, int status) | 为ArkWeb_Response对象设置一个HTTP状态码。  | 
151| int [OH_ArkWebResponse_GetStatus](#oh_arkwebresponse_getstatus) (const [ArkWeb_Response](#arkweb_response) \*response) | 获取ArkWeb_Response的HTTP状态码。  | 
152| int32_t [OH_ArkWebResponse_SetStatusText](#oh_arkwebresponse_setstatustext) ([ArkWeb_Response](#arkweb_response) \*response, const char \*statusText) | 为ArkWeb_Response设置状态文本。  | 
153| void [OH_ArkWebResponse_GetStatusText](#oh_arkwebresponse_getstatustext) (const [ArkWeb_Response](#arkweb_response) \*response, char \*\*statusText) | 获取ArkWeb_Response的状态文本。  | 
154| int32_t [OH_ArkWebResponse_SetMimeType](#oh_arkwebresponse_setmimetype) ([ArkWeb_Response](#arkweb_response) \*response, const char \*mimeType) | 为ArkWeb_Response设置媒体类型。  | 
155| void [OH_ArkWebResponse_GetMimeType](#oh_arkwebresponse_getmimetype) (const [ArkWeb_Response](#arkweb_response) \*response, char \*\*mimeType) | 获取ArkWeb_Response的媒体类型。  | 
156| int32_t [OH_ArkWebResponse_SetCharset](#oh_arkwebresponse_setcharset) ([ArkWeb_Response](#arkweb_response) \*response, const char \*charset) | 为ArkWeb_Response设置字符集。  | 
157| void [OH_ArkWebResponse_GetCharset](#oh_arkwebresponse_getcharset) (const [ArkWeb_Response](#arkweb_response) \*response, char \*\*charset) | 获取ArkWeb_Response的字符集。  | 
158| int32_t [OH_ArkWebResponse_SetHeaderByName](#oh_arkwebresponse_setheaderbyname) ([ArkWeb_Response](#arkweb_response) \*response, const char \*name, const char \*value, bool overwrite) | 为ArkWeb_Response设置一个header。  | 
159| void [OH_ArkWebResponse_GetHeaderByName](#oh_arkwebresponse_getheaderbyname) (const [ArkWeb_Response](#arkweb_response) \*response, const char \*name, char \*\*value) | 从ArkWeb_Response中获取header。  | 
160| int32_t [OH_ArkWebResourceHandler_Destroy](#oh_arkwebresourcehandler_destroy) (const [ArkWeb_ResourceHandler](#arkweb_resourcehandler) \*resourceHandler) | 销毁一个ArkWeb_ResourceHandler对象。  | 
161| int32_t [OH_ArkWebResourceHandler_DidReceiveResponse](#oh_arkwebresourcehandler_didreceiveresponse) (const [ArkWeb_ResourceHandler](#arkweb_resourcehandler) \*resourceHandler, const [ArkWeb_Response](#arkweb_response) \*response) | 将构造的响应头传递给被拦截的请求。  | 
162| int32_t [OH_ArkWebResourceHandler_DidReceiveData](#oh_arkwebresourcehandler_didreceivedata) (const [ArkWeb_ResourceHandler](#arkweb_resourcehandler) \*resourceHandler, const uint8_t \*buffer, int64_t bufLen) | 将构造的响应体传递给被拦截的请求。  | 
163| int32_t [OH_ArkWebResourceHandler_DidFinish](#oh_arkwebresourcehandler_didfinish) (const [ArkWeb_ResourceHandler](#arkweb_resourcehandler) \*resourceHandler) | 通知ArkWeb内核被拦截的请求已经完成,并且没有更多的数据可用。  | 
164| int32_t [OH_ArkWebResourceHandler_DidFailWithError](#oh_arkwebresourcehandler_didfailwitherror) (const [ArkWeb_ResourceHandler](#arkweb_resourcehandler) \*resourceHandler, [ArkWeb_NetError](#arkweb_neterror) errorCode) | 通知ArkWeb内核被拦截请求应该失败。  | 
165| void [OH_ArkWeb_ReleaseString](#oh_arkweb_releasestring) (char \*string) | 释放由NDK接口创建的字符串  | 
166| void [OH_ArkWeb_ReleaseByteArray](#oh_arkweb_releasebytearray) (uint8_t \*byteArray) | 释放由NDK接口创建的字节数组。  | 
167| void [OH_NativeArkWeb_RunJavaScript](#oh_nativearkweb_runjavascript) (const char \*webTag, const char \*jsCode, [NativeArkWeb_OnJavaScriptCallback](#nativearkweb_onjavascriptcallback) callback) | 在当前显示页面的环境下,加载并执行一段JavaScript代码。  | 
168| void [OH_NativeArkWeb_RegisterJavaScriptProxy](#oh_nativearkweb_registerjavascriptproxy) (const char \*webTag, const char \*objName, const char \*\*methodList, [NativeArkWeb_OnJavaScriptProxyCallback](#nativearkweb_onjavascriptproxycallback) \*callback, int32_t size, bool needRefresh) | 注册对象及函数名称列表。  | 
169| void [OH_NativeArkWeb_UnregisterJavaScriptProxy](#oh_nativearkweb_unregisterjavascriptproxy) (const char \*webTag, const char \*objName) | 删除已注册的对象及其下的回调函数。  | 
170| void [OH_NativeArkWeb_SetJavaScriptProxyValidCallback](#oh_nativearkweb_setjavascriptproxyvalidcallback) (const char \*webTag, [NativeArkWeb_OnValidCallback](#nativearkweb_onvalidcallback) callback) | 设置对象可注册时的回调函数。  | 
171| [NativeArkWeb_OnValidCallback](#nativearkweb_onvalidcallback) [OH_NativeArkWeb_GetJavaScriptProxyValidCallback](#oh_nativearkweb_getjavascriptproxyvalidcallback) (const char \*webTag) | 获取已注册的对象可注册时的回调函数。  | 
172| void [OH_NativeArkWeb_SetDestroyCallback](#oh_nativearkweb_setdestroycallback) (const char \*webTag, [NativeArkWeb_OnDestroyCallback](#nativearkweb_ondestroycallback) callback) | 设置组件销毁时的回调函数。  | 
173| [NativeArkWeb_OnDestroyCallback](#nativearkweb_ondestroycallback) [OH_NativeArkWeb_GetDestroyCallback](#oh_nativearkweb_getdestroycallback) (const char \*webTag) | 获取已注册的组件销毁时的回调函数。  | 
174
175## 宏定义说明
176
177
178### ARKWEB_MEMBER_EXISTS
179
180```
181#define ARKWEB_MEMBER_EXISTS( s,  f )    ((intptr_t) & ((s)->f) - (intptr_t)(s) + sizeof((s)->f) <= *reinterpret_cast<size_t*>(s))
182```
183**描述:**
184
185检查结构体中是否存在该成员变量。
186
187**起始版本:** 12
188
189
190### ARKWEB_MEMBER_MISSING
191
192```
193#define ARKWEB_MEMBER_MISSING( s,  f )   (!ARKWEB_MEMBER_EXISTS(s, f) || !((s)->f))
194```
195**描述:**
196
197当前结构体存在该成员变量则返回false,否则返回true。
198
199**起始版本:** 12
200
201
202## 类型定义说明
203
204
205### ArkWeb_CustomSchemeOption
206
207```
208typedef enum ArkWeb_CustomSchemeOption ArkWeb_CustomSchemeOption
209```
210**描述:**
211
212custom scheme的配置信息。
213
214**系统能力:** SystemCapability.Web.Webview.Core
215
216**起始版本:** 12
217
218
219### ArkWeb_ErrorCode
220
221```
222typedef enum ArkWeb_ErrorCode ArkWeb_ErrorCode
223```
224**描述:**
225
226定义ArkWeb NDK接口异常错误码。
227
228**系统能力:** SystemCapability.Web.Webview.Core
229
230**起始版本:** 12
231
232
233### ArkWeb_HttpBodyStream
234
235```
236typedef struct ArkWeb_HttpBodyStream_ ArkWeb_HttpBodyStream
237```
238**描述:**
239
240请求的上传数据。
241
242使用OH_ArkWebHttpBodyStream_\*接口来读取上传的数据。
243
244**系统能力:** SystemCapability.Web.Webview.Core
245
246**起始版本:** 12
247
248
249### ArkWeb_HttpBodyStreamInitCallback
250
251```
252typedef void(* ArkWeb_HttpBodyStreamInitCallback) (const ArkWeb_HttpBodyStream *httpBodyStream, ArkWeb_NetError result)
253```
254**描述:**
255
256ArkWeb_HttpBodyStream初始化操作完成时回调函数。
257
258**系统能力:** SystemCapability.Web.Webview.Core
259
260**起始版本:** 12
261
262**参数:**
263
264| 名称 | 描述 | 
265| -------- | -------- |
266| httpBodyStream | ArkWeb_HttpBodyStream。  | 
267| result | 成功时返回ARKWEB_NET_OK,否则请参考[arkweb_net_error_list.h](arkweb__net__error__list_8h.md)。 | 
268
269
270### ArkWeb_HttpBodyStreamReadCallback
271
272```
273typedef void(* ArkWeb_HttpBodyStreamReadCallback) (const ArkWeb_HttpBodyStream *httpBodyStream, uint8_t *buffer, int bytesRead)
274```
275**描述:**
276
277当OH_ArkWebHttpBodyStream_Read读取操作完成时的回调函数。
278
279**系统能力:** SystemCapability.Web.Webview.Core
280
281**起始版本:** 12
282
283**参数:**
284
285| 名称 | 描述 | 
286| -------- | -------- |
287| httpBodyStream | ArkWeb_HttpBodyStream。  | 
288| buffer | 接收数据的buffer。  | 
289| bytesRead | OH_ArkWebHttpBodyStream_Read后的回调函数。如果bytesRead大于0,则表示buffer已填充了bytesRead大小的数据。 调用者可以从buffer中读取数据,如果OH_ArkWebHttpBodyStream_IsEOF为false,则调用者可以继续读取剩余的数据。 | 
290
291
292### ArkWeb_NetError
293
294```
295typedef enum ArkWeb_NetError ArkWeb_NetError
296```
297**描述:**
298
299定义ArkWeb网络协议栈错误码。
300
301**系统能力:** SystemCapability.Web.Webview.Core
302
303**起始版本:** 12
304
305
306### ArkWeb_OnComponentCallback
307
308```
309typedef void(* ArkWeb_OnComponentCallback) (const char *webTag, void *userData)
310```
311**描述:**
312
313组件事件通知相关的通用回调。
314
315**起始版本:** 12
316
317
318### ArkWeb_OnJavaScriptCallback
319
320```
321typedef void(* ArkWeb_OnJavaScriptCallback) (const char *webTag, const ArkWeb_JavaScriptBridgeData *data, void *userData)
322```
323**描述:**
324
325注入的JavaScript执行完成的回调。
326
327**起始版本:** 12
328
329
330### ArkWeb_OnJavaScriptProxyCallback
331
332```
333typedef void(* ArkWeb_OnJavaScriptProxyCallback) (const char *webTag, const ArkWeb_JavaScriptBridgeData *dataArray, size_t arraySize, void *userData)
334```
335**描述:**
336
337Proxy方法被执行的回调。
338
339**起始版本:** 12
340
341
342### ArkWeb_OnMessageEventHandler
343
344```
345typedef void(* ArkWeb_OnMessageEventHandler) (const char *webTag, const ArkWeb_WebMessagePortPtr port, const ArkWeb_WebMessagePtr message, void *userData)
346```
347**描述:**
348
349处理HTML发送过来的Post Message数据。
350
351**起始版本:** 12
352
353**参数:**
354
355| 名称 | 描述 | 
356| -------- | -------- |
357| webTag | Web组件名字。  | 
358| port | Post Message端口。  | 
359| message | Post Message数据。  | 
360| userData | 用户自定义数据。 | 
361
362
363### ArkWeb_OnRequestStart
364
365```
366typedef void(* ArkWeb_OnRequestStart) (const ArkWeb_SchemeHandler *schemeHandler, ArkWeb_ResourceRequest *resourceRequest, const ArkWeb_ResourceHandler *resourceHandler, bool *intercept)
367```
368**描述:**
369
370请求开始的回调,这将在IO线程上被调用。
371
372**系统能力:** SystemCapability.Web.Webview.Core
373
374**起始版本:** 12
375
376**参数:**
377
378| 名称 | 描述 | 
379| -------- | -------- |
380| schemeHandler | ArkWeb_SchemeHandler。  | 
381| resourceRequest | 通过该对象获取请求的信息。  | 
382| resourceHandler | 请求的ArkWeb_ResourceHandler。如果intercept设置为false,则不应使用它。  | 
383| intercept | 如果为true,则会拦截请求;如果为false,则不会拦截。 | 
384
385
386### ArkWeb_OnRequestStop
387
388```
389typedef void(* ArkWeb_OnRequestStop) (const ArkWeb_SchemeHandler *schemeHandler, const ArkWeb_ResourceRequest *resourceRequest)
390```
391**描述:**
392
393请求完成时的回调函数。
394
395这将在IO线程上被调用。
396
397应该使用ArkWeb_ResourceRequest_Destroy销毁resourceRequest,
398
399并使用ArkWeb_ResourceHandler_Destroy销毁在ArkWeb_OnRequestStart中接收到的ArkWeb_ResourceHandler。
400
401**系统能力:** SystemCapability.Web.Webview.Core
402
403**起始版本:** 12
404
405**参数:**
406
407| 名称 | 描述 | 
408| -------- | -------- |
409| schemeHandler | ArkWeb_SchemeHandler。  | 
410| resourceRequest | ArkWeb_ResourceRequest。 | 
411
412
413### ArkWeb_RequestHeaderList
414
415```
416typedef struct ArkWeb_RequestHeaderList_ ArkWeb_RequestHeaderList
417```
418**描述:**
419
420请求头列表。
421
422**系统能力:** SystemCapability.Web.Webview.Core
423
424**起始版本:** 12
425
426
427### ArkWeb_ResourceHandler
428
429```
430typedef struct ArkWeb_ResourceHandler_ ArkWeb_ResourceHandler
431```
432**描述:**
433
434用于被拦截的URL请求。
435
436可以通过ArkWeb_ResourceHandler发送自定义请求头以及自定义请求体。
437
438**系统能力:** SystemCapability.Web.Webview.Core
439
440**起始版本:** 12
441
442
443### ArkWeb_ResourceRequest
444
445```
446typedef struct ArkWeb_ResourceRequest_ ArkWeb_ResourceRequest
447```
448**描述:**
449
450对应内核的一个请求,可以通过OH_ArkWeb_ResourceRequest获取请求的URL、method、post data以及其他信息。
451
452**系统能力:** SystemCapability.Web.Webview.Core
453
454**起始版本:** 12
455
456
457### ArkWeb_ResourceType
458
459```
460typedef enum ArkWeb_ResourceType ArkWeb_ResourceType
461```
462**描述:**
463
464请求的资源类型。
465
466这些常量与Chromium中的ResourceType的对应项相匹配,不应重新编号。
467
468**系统能力:** SystemCapability.Web.Webview.Core
469
470**起始版本:** 12
471
472
473### ArkWeb_Response
474
475```
476typedef struct ArkWeb_Response_ ArkWeb_Response
477```
478**描述:**
479
480为被拦截的请求构造一个ArkWeb_Response。
481
482**系统能力:** SystemCapability.Web.Webview.Core
483
484**起始版本:** 12
485
486
487### ArkWeb_SchemeHandler
488
489```
490typedef struct ArkWeb_SchemeHandler_ ArkWeb_SchemeHandler
491```
492**描述:**
493
494该类用于拦截指定scheme的请求。
495
496**系统能力:** SystemCapability.Web.Webview.Core
497
498**起始版本:** 12
499
500
501### ArkWeb_WebMessagePortPtr
502
503```
504typedef struct ArkWeb_WebMessagePort* ArkWeb_WebMessagePortPtr
505```
506**描述:**
507
508Post Message端口结构体指针。
509
510**起始版本:** 12
511
512
513### ArkWeb_WebMessagePtr
514
515```
516typedef struct ArkWeb_WebMessage* ArkWeb_WebMessagePtr
517```
518**描述:**
519
520Post Message数据结构体指针。
521
522**起始版本:** 12
523
524
525### ArkWeb_WebMessageType
526
527```
528typedef enum ArkWeb_WebMessageType ArkWeb_WebMessageType
529```
530**描述:**
531
532Post Message数据类型。
533
534**起始版本:** 12
535
536
537### NativeArkWeb_OnDestroyCallback
538
539```
540typedef void(* NativeArkWeb_OnDestroyCallback) (const char *)
541```
542**描述:**
543
544定义Web组件销毁时的回调函数的类型。
545
546**起始版本:** 11
547
548
549### NativeArkWeb_OnJavaScriptCallback
550
551```
552typedef void(* NativeArkWeb_OnJavaScriptCallback) (const char *)
553```
554**描述:**
555
556定义执行JavaScript代码后返回结果的回调函数的类型。
557
558**起始版本:** 11
559
560
561### NativeArkWeb_OnJavaScriptProxyCallback
562
563```
564typedef char*(* NativeArkWeb_OnJavaScriptProxyCallback) (const char **argv, int32_t argc)
565```
566**描述:**
567
568定义注入对象的回调函数的类型。
569
570**起始版本:** 11
571
572
573### NativeArkWeb_OnValidCallback
574
575```
576typedef void(* NativeArkWeb_OnValidCallback) (const char *)
577```
578**描述:**
579
580定义Web组件可用时的回调函数的类型。
581
582**起始版本:** 11
583
584
585## 枚举类型说明
586
587
588### ArkWeb_CustomSchemeOption
589
590```
591enum ArkWeb_CustomSchemeOption
592```
593**描述:**
594
595custom scheme的配置信息。
596
597**系统能力:** SystemCapability.Web.Webview.Core
598
599**起始版本:** 12
600
601| 枚举值 | 描述 | 
602| -------- | -------- |
603| ARKWEB_SCHEME_OPTION_STANDARD  | 如果设置了ARKWEB_SCHEME_OPTION_STANDARD,那么该scheme将被视为标准scheme来处理。 标准scheme需要遵守在RFC 1738第3.1节中定义的URL规范化和解析规则,该规则可以在 [http://www.ietf.org/rfc/rfc1738.txt](http://www.ietf.org/rfc/rfc1738.txt) 中找到。  | 
604| ARKWEB_SCHEME_OPTION_LOCAL  | 如果设置了ARKWEB_SCHEME_OPTION_LOCAL,则将使用与“file” URL相同的安全规则来处理该scheme。  | 
605| ARKWEB_SCHEME_OPTION_DISPLAY_ISOLATED  | 如果设置了ARKWEB_SCHEME_OPTION_DISPLAY_ISOLATED,则该scheme的请求只能由使用相同scheme加载的页面中发起。  | 
606| ARKWEB_SCHEME_OPTION_SECURE  | 如果设置了ARKWEB_SCHEME_OPTION_SECURE,则将使用与“https” URL相同的安全规则来处理该scheme。  | 
607| ARKWEB_SCHEME_OPTION_CORS_ENABLED  | 如果设置了ARKWEB_SCHEME_OPTION_CORS_ENABLED,则该scheme可以发送CORS请求。在大多数情况下,当设置了ARKWEB_SCHEME_OPTION_STANDARD时,应该设置此值。  | 
608| ARKWEB_SCHEME_OPTION_CSP_BYPASSING  | 如果设置了ARKWEB_SCHEME_OPTION_CSP_BYPASSING,则该scheme可以绕过内容安全策略(CSP)检查。 在大多数情况下,当设置了ARKWEB_SCHEME_OPTION_STANDARD时,不应设置此值。  | 
609| ARKWEB_SCHEME_OPTION_FETCH_ENABLED  | 如果设置了ARKWEB_SCHEME_OPTION_FETCH_ENABLED,则可以发起该scheme的FETCH API请求。  | 
610| ARKWEB_SCHEME_OPTION_CODE_CACHE_ENABLED  | 如果设置了ARKWEB_SCHEME_OPTION_CODE_CACHE_ENABLED,则该scheme的js资源支持生成code cache。  | 
611
612
613### ArkWeb_ErrorCode
614
615```
616enum ArkWeb_ErrorCode
617```
618**描述:**
619
620定义ArkWeb NDK接口异常错误码。
621
622**系统能力:** SystemCapability.Web.Webview.Core
623
624**起始版本:** 12
625
626| 枚举值 | 描述 | 
627| -------- | -------- |
628| ARKWEB_SUCCESS  |  成功.  | 
629| ARKWEB_INIT_ERROR  |  初始化失败.  | 
630| ARKWEB_ERROR_UNKNOWN  |  未知错误。  | 
631| ARKWEB_INVALID_PARAM  |  参数无效。  | 
632| ARKWEB_SCHEME_REGISTER_FAILED  |  注册scheme的配置失败,应该在创建ArkWeb之前注册。  | 
633| ARKWEB_INVALID_URL  |  无效的URL。  | 
634| ARKWEB_INVALID_COOKIE_VALUE  |  无效的cookie值。  | 
635
636
637### ArkWeb_NativeAPIVariantKind
638
639```
640enum ArkWeb_NativeAPIVariantKind
641```
642**描述:**
643
644定义Native API的类型枚举。
645
646**起始版本:** 12
647
648| 枚举值 | 描述 | 
649| -------- | -------- |
650| ARKWEB_NATIVE_COMPONENT  | component相关API类型。  | 
651| ARKWEB_NATIVE_CONTROLLER  | controller相关API类型。  | 
652| ARKWEB_NATIVE_WEB_MESSAGE_PORT  | webMessagePort相关API类型。  | 
653| ARKWEB_NATIVE_WEB_MESSAGE  | webMessage相关API类型。  | 
654| ARKWEB_NATIVE_COOKIE_MANAGER  | cookieManager相关API类型。  | 
655
656
657### ArkWeb_NetError
658
659```
660enum ArkWeb_NetError
661```
662**描述:**
663
664定义ArkWeb网络协议栈错误码。
665
666**系统能力:** SystemCapability.Web.Webview.Core
667
668**起始版本:** 12
669
670| 枚举值 | 描述 | 
671| -------- | -------- |
672| ARKWEB_NET_OK  |  正常。  | 
673| ARKWEB_ERR_IO_PENDING  |  异步IO操作尚未完成。这通常并不表示致命错误。通常,这个错误将作为通知生成,以等待某个外部通知,表明IO操作最终已完成。  | 
674| ARKWEB_ERR_FAILED  |  发生了通用故障。  | 
675| ARKWEB_ERR_ABORTED  |  操作被中止(由于用户操作)。  | 
676| ARKWEB_ERR_INVALID_ARGUMENT  |  该函数的参数不正确。  | 
677| ARKWEB_ERR_INVALID_HANDLE  |  句柄或文件描述符无效。  | 
678| ARKWEB_ERR_FILE_NOT_FOUND  |  文件或目录无法找到。  | 
679| ARKWEB_ERR_TIMED_OUT  |  操作超时。  | 
680| ARKWEB_ERR_FILE_TOO_LARGE  |  文件过大。  | 
681| ARKWEB_ERR_UNEXPECTED  |  发生了一个意外的错误。这可能是由编程错误或无效的假设导致的。  | 
682| ARKWEB_ERR_ACCESS_DENIED  |  访问除网络外的资源被拒绝。  | 
683| ARKWEB_ERR_NOT_IMPLEMENTED  |  由于功能未实现,操作失败。  | 
684| ARKWEB_ERR_INSUFFICIENT_RESOURCES  |  没有足够的资源来完成操作。  | 
685| ARKWEB_ERR_OUT_OF_MEMORY  |  内存溢出。  | 
686| ARKWEB_ERR_UPLOAD_FILE_CHANGED  |  文件上传失败,因为文件的修改时间与预期不同。  | 
687| ARKWEB_ERR_SOCKET_NOT_CONNECTED  |  socket未连接。  | 
688| ARKWEB_ERR_FILE_EXISTS  |  文件已存在。  | 
689| ARKWEB_ERR_FILE_PATH_TOO_LONG  |  文件路径或者文件名过长。  | 
690| ARKWEB_ERR_FILE_NO_SPACE  |  磁盘上剩余空间不足。  | 
691| ARKWEB_ERR_FILE_VIRUS_INFECTED  |  文件含有病毒。  | 
692| ARKWEB_ERR_BLOCKED_BY_CLIENT  |  客户端选择阻止该请求。  | 
693| ARKWEB_ERR_NETWORK_CHANGED  |  网络发生变化。  | 
694| ARKWEB_ERR_BLOCKED_BY_ADMINISTRATOR  |  请求被域管理员配置的URL阻止列表所阻止。  | 
695| ARKWEB_ERR_SOCKET_CONNECTED  |  socket已连接。  | 
696| ARKWEB_ERR_UPLOAD_STREAM_REWIND_NOT_SUPPORTED  |  由于重试或重定向,需要重新读取上传流,但上传流不支持该操作,因此上传失败。  | 
697| ARKWEB_ERR_CONTEXT_SHUT_DOWN  |  请求失败,因为URLRequestContext正在关闭或已经关闭。  | 
698| ARKWEB_ERR_BLOCKED_BY_RESPONSE  |  请求失败,因为响应不满足要求(例如“X-Frame-Options”和“Content Security Policy”检查以及“Cross Origin Resource Policy”)。  | 
699| ARKWEB_ERR_CLEARTEXT_NOT_PERMITTED  |  由于系统策略禁止某些或所有明文请求,请求被阻止。  | 
700| ARKWEB_ERR_BLOCKED_BY_CSP  |  请求被内容安全策略阻止。  | 
701| ARKWEB_ERR_H2_OR_QUIC_REQUIRED  |  由于没有H/2或QUIC会话,请求被阻止。  | 
702| ARKWEB_ERR_BLOCKED_BY_ORB  |  请求被CORB或ORB阻止。  | 
703| ARKWEB_ERR_CONNECTION_CLOSED  |  连接已关闭(对应于TCP FIN)。  | 
704| ARKWEB_ERR_CONNECTION_RESET  |  连接被重置(对应于TCP RST)。  | 
705| ARKWEB_ERR_CONNECTION_REFUSED  |  连接尝试被拒绝。  | 
706| ARKWEB_ERR_CONNECTION_ABORTED  |  由于未收到发送数据的ACK而导致连接超时。这可能包括未收到ACK的FIN数据包。  | 
707| ARKWEB_ERR_CONNECTION_FAILED  |  连接尝试失败。  | 
708| ARKWEB_ERR_NAME_NOT_RESOLVED  |  域名无法解析。  | 
709| ARKWEB_ERR_INTERNET_DISCONNECTED  |  网络断开。  | 
710| ARKWEB_ERR_SSL_PROTOCOL_ERROR  |  发生了SSL协议错误。  | 
711| ARKWEB_ERR_ADDRESS_INVALID  |  IP地址或端口号无效(例如,无法连接到IP地址0或端口0)。  | 
712| ARKWEB_ERR_ADDRESS_UNREACHABLE  |  IP地址无法访问。这通常意味着没有到达指定主机或网络的路由。  | 
713| ARKWEB_ERR_SSL_CLIENT_AUTH_CERT_NEEDED  |  服务器请求SSL客户端身份验证的客户端证书。  | 
714| ARKWEB_ERR_TUNNEL_CONNECTION_FAILED  |  无法通过代理建立隧道连接。  | 
715| ARKWEB_ERR_NO_SSL_VERSIONS_ENABLED  |  未启用任何SSL协议版本。  | 
716| ARKWEB_ERR_SSL_VERSION_OR_CIPHER_MISMATCH  |  客户端和服务器不支持通用的SSL协议版本或密码套件。  | 
717| ARKWEB_ERR_SSL_RENEGOTIATION_REQUESTED  |  服务器请求重新协商(重新握手)。  | 
718| ARKWEB_ERR_PROXY_AUTH_UNSUPPORTED  |  代理请求进行身份验证(用于建立隧道,但使用的方法不受支持)。  | 
719| ARKWEB_ERR_BAD_SSL_CLIENT_AUTH_CERT  |  SSL握手未能成功,原因是客户端证书不正确或缺失。  | 
720| ARKWEB_ERR_CONNECTION_TIMED_OUT  |  连接尝试超时。  | 
721| ARKWEB_ERR_HOST_RESOLVER_QUEUE_TOO_LARGE  |  有太多待处理的DNS解析,因此队列中的一个请求被中止了。  | 
722| ARKWEB_ERR_SOCKS_CONNECTION_FAILED  |  为目标主机建立到SOCKS代理服务器的连接失败。  | 
723| ARKWEB_ERR_SOCKS_CONNECTION_HOST_UNREACHABLE  |  SOCKS代理服务器无法建立与目标主机的连接,因为该主机无法访问。  | 
724| ARKWEB_ERR_ALPN_NEGOTIATION_FAILED  |  协商备用协议的请求失败。  | 
725| ARKWEB_ERR_SSL_NO_RENEGOTIATION  |  对等端发送了SSL no_regregation警报消息。  | 
726| ARKWEB_ERR_WINSOCK_UNEXPECTED_WRITTEN_BYTES  |  Winsock有时会报告写入的数据多于传递的数据。这可能是由于LSP损坏。  | 
727| ARKWEB_ERR_SSL_DECOMPRESSION_FAILURE_ALERT  |  SSL对等端向我们发送了一个致命的decompression_failure警告。这通常发生在对等端错误地认为它支持DEFLATE压缩并选择它时。  | 
728| ARKWEB_ERR_SSL_BAD_RECORD_MAC_ALERT  |  SSL对等端向我们发送了一个致命的bad_record_mac警告。这通常发生在错误支持DEFLATE的服务器上。  | 
729| ARKWEB_ERR_PROXY_AUTH_REQUESTED  |  代理请求身份验证(用于建立隧道)。  | 
730| ARKWEB_ERR_PROXY_CONNECTION_FAILED  |  无法创建到代理服务器的连接。在解析其名称或将其套接字连接到代理服务器时发生错误。请注意,这不包括HTTP代理的实际“CONNECT”方法期间的失败。  | 
731| ARKWEB_ERR_MANDATORY_PROXY_CONFIGURATION_FAILED  |  无法使用强制代理配置。目前,这意味着无法获取、解析或执行强制PAC脚本。  | 
732| ARKWEB_ERR_PRECONNECT_MAX_SOCKET_LIMIT  |  在预连接时,我们已达到套接字池的最大套接字限制。我们不再尝试预连接更多套接字。  | 
733| ARKWEB_ERR_SSL_CLIENT_AUTH_PRIVATE_KEY_ACCESS_DENIED  |  使用SSL客户端证书的私钥的权限被拒绝。  | 
734| ARKWEB_ERR_SSL_CLIENT_AUTH_CERT_NO_PRIVATE_KEY  |  SSL客户端证书没有私钥。  | 
735| ARKWEB_ERR_PROXY_CERTIFICATE_INVALID  |  HTTPS代理提供的证书无效。  | 
736| ARKWEB_ERR_NAME_RESOLUTION_FAILED  |  在尝试进行域名解析(DNS)时发生错误。  | 
737| ARKWEB_ERR_NETWORK_ACCESS_DENIED  |  访问网络的权限被拒绝。这用于区分很可能是由防火墙导致的错误和其他访问被拒绝的错误。另请参阅ERR_ACCESS_DENIED。  | 
738| ARKWEB_ERR_TEMPORARILY_THROTTLED  |  请求节流模块取消了此请求,以避免DDOS攻击。  | 
739| ARKWEB_ERR_HTTPS_PROXY_TUNNEL_RESPONSE_REDIRECT  |  通过HTTPS代理创建SSL隧道连接的请求收到了302(临时重定向)响应。响应体可能包含请求失败原因的说明。  | 
740| ARKWEB_ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED  |  我们无法使用客户端证书的私钥签署SSL客户端身份验证握手的CertificateVerify数据。 可能导致这种情况的原因包括用户隐式或显式地拒绝访问私钥,私钥可能无法用于签名,密钥可能依赖于已无效的缓存句柄,或者CSP不允许签署任意数据。  | 
741| ARKWEB_ERR_MSG_TOO_BIG  |  消息对于传输来说太大了。(例如,UDP消息超过了大小阈值)。  | 
742| ARKWEB_ERR_WS_PROTOCOL_ERROR  |  Websocket协议错误。表示由于帧格式错误或其他协议违规,我们正在终止连接。  | 
743| ARKWEB_ERR_ADDRESS_IN_USE  |  当尝试绑定已使用的地址时返回。  | 
744| ARKWEB_ERR_SSL_HANDSHAKE_NOT_COMPLETED  |  由于SSL握手尚未完成,操作失败。  | 
745| ARKWEB_ERR_SSL_BAD_PEER_PUBLIC_KEY  |  SSL对等方的公钥无效。  | 
746| ARKWEB_ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN  |  证书与主机名的内置公钥Pins不匹配。Pin在net/http/transport_security_state.cc中设置,并且要求在从叶节点到根节点的路径上存在一组公钥中的一个。  | 
747| ARKWEB_ERR_CLIENT_AUTH_CERT_TYPE_UNSUPPORTED  |  服务器请求客户端证书,但请求中未包含我们支持的任何类型。  | 
748| ARKWEB_ERR_SSL_DECRYPT_ERROR_ALERT  |  SSL对等端向我们发送了一个致命的decrypt_error警告。这通常发生在对等端无法正确验证签名(在CertificateVerify或ServerKeyExchange中)或验证Finished消息时。  | 
749| ARKWEB_ERR_WS_THROTTLE_QUEUE_TOO_LARGE  |  待处理的WebSocketJob实例太多,因此新任务没有推送到队列中。  | 
750| ARKWEB_ERR_SSL_SERVER_CERT_CHANGED  |  在重新协商过程中,SSL服务器证书发生了更改。  | 
751| ARKWEB_ERR_SSL_UNRECOGNIZED_NAME_ALERT  |  SSL服务器向我们发送了一个致命的unrecognized_name警告。  | 
752| ARKWEB_ERR_SOCKET_SET_RECEIVE_BUFFER_SIZE_ERROR  |  无法按照请求设置套接字的接收缓冲区大小。  | 
753| ARKWEB_ERR_SOCKET_SET_SEND_BUFFER_SIZE_ERROR  |  无法按照请求设置套接字的发送缓冲区大小。  | 
754| ARKWEB_ERR_SOCKET_RECEIVE_BUFFER_SIZE_UNCHANGEABLE  |  尽管setsockopt返回成功代码,但无法将套接字的接收缓冲区大小设置为所请求的值。  | 
755| ARKWEB_ERR_SOCKET_SEND_BUFFER_SIZE_UNCHANGEABLE  |  尽管setsockopt返回成功代码,但无法将套接字的发送缓冲区大小设置为所请求的值。  | 
756| ARKWEB_ERR_SSL_CLIENT_AUTH_CERT_BAD_FORMAT  |  无法将客户端证书从平台存储导入到SSL库中。  | 
757| ARKWEB_ERR_ICANN_NAME_COLLISION  |  将主机名解析为IP地址列表时,包含了IPv4地址“127.0.53.53”。这是ICANN推荐的一个特殊IP地址,用于指示存在名称冲突,并提醒管理员注意潜在问题。  | 
758| ARKWEB_ERR_SSL_SERVER_CERT_BAD_FORMAT  |  SSL服务器提供了一个无法解码的证书。这不是一个证书错误代码,因为没有可用的X509Certificate对象。这个错误是致命的。  | 
759| ARKWEB_ERR_CT_STH_PARSING_FAILED  |  Certificate Transparency:收到的Signed Tree Head无法解析。  | 
760| ARKWEB_ERR_CT_STH_INCOMPLETE  |  证书透明度:收到的已签名树头可以成功解析为JSON,但缺少某些字段。  | 
761| ARKWEB_ERR_UNABLE_TO_REUSE_CONNECTION_FOR_PROXY_AUTH  |  在AuthController用于生成凭据之前,尝试重用连接以发送代理身份验证凭据失败。调用者应该使用新连接重新使用控制器。此错误仅由网络堆栈内部使用。  | 
762| ARKWEB_ERR_CT_CONSISTENCY_PROOF_PARSING_FAILED  |  证书透明度:无法解析收到的一致性证明。  | 
763| ARKWEB_ERR_SSL_OBSOLETE_CIPHER  |  SSL服务器要求一个已被移除的不受支持的密码套件。在这个密码套件被移除后的一两个版本更新中,作为回退策略,这个错误将被临时发出信号,之后回退策略将被移除。  | 
764| ARKWEB_ERR_WS_UPGRADE  |  当WebSocket握手成功完成并且连接已升级时,将使用此错误代码取消URLRequest。  | 
765| ARKWEB_ERR_READ_IF_READY_NOT_IMPLEMENTED  |  Socket ReadIfReady支持尚未实现。这个错误不应该被用户看到,因为正常的Read方法将作为备选方案使用。  | 
766| ARKWEB_ERR_NO_BUFFER_SPACE  |  没有可用的套接字缓冲区空间。  | 
767| ARKWEB_ERR_SSL_CLIENT_AUTH_NO_COMMON_ALGORITHMS  |  我们的客户端证书私钥和服务器的首选项之间没有共同的签名算法。  | 
768| ARKWEB_ERR_EARLY_DATA_REJECTED  |  TLS 1.3 Early Data被服务器拒绝。这将在从套接字返回任何数据之前收到。应该禁用Early Data并重试请求。  | 
769| ARKWEB_ERR_WRONG_VERSION_ON_EARLY_DATA  |  提供了TLS 1.3 Early Data,但服务器以TLS 1.2或更早版本进行响应。这是为了解决Early Data和TLS 1.2之间向后兼容问题的内部错误代码。 在套接字返回任何数据之前将收到此错误代码。应该禁用Early Data后重试请求。详情请参阅https://tools.ietf.org/html/rfc8446\#appendix-D.3。  | 
770| ARKWEB_ERR_TLS13_DOWNGRADE_DETECTED  |  启用了TLS 1.3,但协商了一个较低版本,并且服务器返回了一个值,表明它支持TLS 1.3。 这是TLS 1.3安全检查的一部分,但也可能表明用户位于一个有问题的TLS终止代理之后,该代理错误地实现了TLS 1.2。(参见https://crbug.com/boringssl/226)  | 
771| ARKWEB_ERR_SSL_KEY_USAGE_INCOMPATIBLE  |  服务器的证书有一个与协商的TLS密钥交换方法不兼容的keyUsage扩展。  | 
772| ARKWEB_ERR_INVALID_ECH_CONFIG_LIST  |  通过DNS获取的ECHConfigList无法解析。  | 
773| ARKWEB_ERR_ECH_NOT_NEGOTIATED  |  已启用ECH(Encrypted Client Hello,加密客户端Hello),但服务器无法解密加密的ClientHello。  | 
774| ARKWEB_ERR_ECH_FALLBACK_CERTIFICATE_INVALID  |  ECH(Encrypted Client Hello)已启用,但服务器无法解密加密的ClientHello,并且没有提供对公共名称有效的证书。  | 
775| ARKWEB_ERR_CERT_COMMON_NAME_INVALID  |  服务器响应了一个证书,其通用名称与主机名不匹配。这可能意味着:1. 攻击者已将我们的流量重定向到他们的服务器,并呈现了一个他们知道私钥的证书。<br/>1. 服务器配置错误,响应了错误的证书。3. 用户处于无线网络中,被重定向到网络的登录页面。4. 操作系统使用了DNS搜索后缀,而服务器没有为地址栏中的缩写名称提供证书。  | 
776| ARKWEB_ERR_CERT_DATE_INVALID  |  服务器以证书作为响应,但根据我们的时钟,该证书似乎尚未生效或已过期。这可能是以下情况之一:1. 攻击者提供了旧的证书,并设法获取了私钥。2. 服务器配置错误,没有提供有效的证书。3. 我们的时钟错误。  | 
777| ARKWEB_ERR_CERT_AUTHORITY_INVALID  |  服务器回应了一个由我们不信任的机构签名的证书。这可能意味着:1. 攻击者已经将真实的证书替换为包含其公钥并由其同伙签名的证书。<br/>1. 服务器运营商拥有一个来自我们不了解但应该信任的CA的合法证书。3. 服务器正在展示一个自签名证书,这无法抵御活跃攻击者(但可以挫败被动攻击者)。  | 
778| ARKWEB_ERR_CERT_CONTAINS_ERRORS  |  服务器返回的证书包含错误。此错误无法恢复。MSDN对此错误的描述如下:"SSL证书包含错误。"注意:目前尚不清楚这与ERR_CERT_INVALID有何不同。 为了保持一致性,从现在开始,请使用ERR_CERT_INVALID代码代替此代码。  | 
779| ARKWEB_ERR_CERT_NO_REVOCATION_MECHANISM  |  该证书没有用于确定其是否被吊销的机制。实际上,此证书无法被吊销。  | 
780| ARKWEB_ERR_CERT_UNABLE_TO_CHECK_REVOCATION  |  此站点的安全证书的吊销信息不可用。这可能意味着:1. 攻击者已破解证书中的私钥,并阻止了我们尝试查明证书已被吊销的操作。2. 证书未被吊销,但吊销服务器繁忙或不可用。  | 
781| ARKWEB_ERR_CERT_REVOKED  |  服务器响应的证书已被吊销。我们有能力忽略此错误,但这可能不是正确的做法。  | 
782| ARKWEB_ERR_CERT_INVALID  |  服务器以无效的证书进行了响应。这个错误无法恢复。MSDN描述此错误如下:"SSL证书无效。"  | 
783| ARKWEB_ERR_CERT_WEAK_SIGNATURE_ALGORITHM  |  服务器使用弱签名算法签名的证书进行了响应。  | 
784| ARKWEB_ERR_CERT_NON_UNIQUE_NAME  |  证书中指定的主机名不是唯一的。  | 
785| ARKWEB_ERR_CERT_WEAK_KEY  |  服务器响应了一个包含弱密钥(例如,太小的RSA密钥)的证书。  | 
786| ARKWEB_ERR_CERT_NAME_CONSTRAINT_VIOLATION  |  证书中声明的DNS名称违反了名称约束。  | 
787| ARKWEB_ERR_CERT_VALIDITY_TOO_LONG  |  证书的有效期太长。  | 
788| ARKWEB_ERR_CERTIFICATE_TRANSPARENCY_REQUIRED  |  此连接需要证书透明度,但服务器未提供符合策略的CT信息。  | 
789| ARKWEB_ERR_CERT_SYMANTEC_LEGACY  |  证书链接到不再受信任的旧版Symantec根证书。  | 
790| ARKWEB_ERR_CERT_KNOWN_INTERCEPTION_BLOCKED  |  已知该证书被除设备所有者之外的其他实体拦截。  | 
791| ARKWEB_ERR_SSL_OBSOLETE_VERSION_OR_CIPHER  |  连接使用了SSL/TLS或加密算法的过时版本。  | 
792| ARKWEB_ERR_CERT_END  |  紧接在最后一个证书错误代码之后的值。  | 
793| ARKWEB_ERR_INVALID_URL  |  URL无效。  | 
794| ARKWEB_ERR_DISALLOWED_URL_SCHEME  |  URL的scheme不被允许。  | 
795| ARKWEB_ERR_UNKNOWN_URL_SCHEME  |  该URL的scheme未知。  | 
796| ARKWEB_ERR_INVALID_REDIRECT  |  尝试加载一个URL导致重定向到一个无效的URL。  | 
797| ARKWEB_ERR_TOO_MANY_REDIRECTS  |  尝试加载一个URL时发生了太多次重定向。  | 
798| ARKWEB_ERR_UNSAFE_REDIRECT  |  尝试加载某个URL时出现了不安全的重定向(例如,重定向到file://被视为不安全)。  | 
799| ARKWEB_ERR_UNSAFE_PORT  |  尝试加载带有不安全端口号的URL。  | 
800| ARKWEB_ERR_INVALID_RESPONSE  |  服务器的响应无效。  | 
801| ARKWEB_ERR_INVALID_CHUNKED_ENCODING  |  块传输编码中出现错误。  | 
802| ARKWEB_ERR_METHOD_UNSUPPORTED  |  服务器不支持该请求方法。  | 
803| ARKWEB_ERR_UNEXPECTED_PROXY_AUTH  |  响应是407(需要代理身份验证),但我们并没有将请求发送到代理。  | 
804| ARKWEB_ERR_EMPTY_RESPONSE  |  服务器关闭了连接而没有发送任何数据。  | 
805| ARKWEB_ERR_RESPONSE_HEADERS_TOO_BIG  |  响应的headers部分过大。  | 
806| ARKWEB_ERR_PAC_SCRIPT_FAILED  |  PAC脚本的执行失败。  | 
807| ARKWEB_ERR_REQUEST_RANGE_NOT_SATISFIABLE  |  响应是416(请求的范围无法满足,服务器无法满足请求的范围)。  | 
808| ARKWEB_ERR_MALFORMED_IDENTITY  |  用于身份验证的身份无效。  | 
809| ARKWEB_ERR_CONTENT_DECODING_FAILED  |  响应体的内容解码失败。  | 
810| ARKWEB_ERR_NETWORK_IO_SUSPENDED  |  一个操作无法完成,因为所有网络IO都已挂起。  | 
811| ARKWEB_ERR_SYN_REPLY_NOT_RECEIVED  |  在流上未收到SYN_REPLY就接收到了FLIP数据。  | 
812| ARKWEB_ERR_ENCODING_CONVERSION_FAILED  |  将响应转换为目标编码失败。  | 
813| ARKWEB_ERR_UNRECOGNIZED_FTP_DIRECTORY_LISTING_FORMAT  |  服务器发送了一个我们无法理解的FTP目录列表格式。  | 
814| ARKWEB_ERR_NO_SUPPORTED_PROXIES  |  提供的列表中没有任何受支持的代理。  | 
815| ARKWEB_ERR_HTTP2_PROTOCOL_ERROR  |  存在一个HTTP/2协议错误。  | 
816| ARKWEB_ERR_INVALID_AUTH_CREDENTIALS  |  在HTTP认证过程中无法建立凭据。  | 
817| ARKWEB_ERR_UNSUPPORTED_AUTH_SCHEME  |  尝试了一种此计算机不支持的HTTP身份验证方案。  | 
818| ARKWEB_ERR_ENCODING_DETECTION_FAILED  |  检测响应的编码失败。  | 
819| ARKWEB_ERR_MISSING_AUTH_CREDENTIALS  |  (GSSAPI)在HTTP身份验证期间没有可用的Kerberos凭据。  | 
820| ARKWEB_ERR_UNEXPECTED_SECURITY_LIBRARY_STATUS  |  返回了一个意外但已记录的SSPI或GSSAPI状态码。  | 
821| ARKWEB_ERR_MISCONFIGURED_AUTH_ENVIRONMENT  |  认证环境未正确设置(例如,找不到KDC或主体未知)。  | 
822| ARKWEB_ERR_UNDOCUMENTED_SECURITY_LIBRARY_STATUS  |  返回了一个未记录的SSPI或GSSAPI状态码。  | 
823| ARKWEB_ERR_RESPONSE_BODY_TOO_BIG_TO_DRAIN  |  HTTP响应太大,无法完全读取。  | 
824| ARKWEB_ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH  |  HTTP响应包含了多个不同的Content-Length响应头。  | 
825| ARKWEB_ERR_INCOMPLETE_HTTP2_HEADERS  |  已经接收到HTTP/2的响应头,但并非全部——缺失了状态码或版本等响应头,因此我们期望更多的帧来完成它们。  | 
826| ARKWEB_ERR_PAC_NOT_IN_DHCP  |  无法从DHCP检索PAC URL配置。这可能表明检索DHCP配置失败,或者在DHCP中没有配置PAC URL。  | 
827| ARKWEB_ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION  |  HTTP响应包含多个Content-Disposition响应头。  | 
828| ARKWEB_ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION  |  HTTP响应包含了多个Location响应头。  | 
829| ARKWEB_ERR_HTTP2_SERVER_REFUSED_STREAM  |  HTTP/2服务器在未处理请求的情况下拒绝了请求,并发送了带有错误代码NO_ERROR和低于与请求对应的流ID的Last-Stream-ID的GOAWAY帧, 表明该请求尚未处理,或者发送了带有错误代码REFUSED_STREAM的RST_STREAM帧。客户端可以重试(在不同的连接上)。请参阅RFC7540第8.1.4节。  | 
830| ARKWEB_ERR_HTTP2_PING_FAILED  |  HTTP/2服务器未响应PING消息。  | 
831| ARKWEB_ERR_CONTENT_LENGTH_MISMATCH  |  当连接关闭时,HTTP响应主体传输的字节数少于Content-Length头中公布的字节数。  | 
832| ARKWEB_ERR_INCOMPLETE_CHUNKED_ENCODING  |  HTTP响应体使用分块编码传输,但在连接关闭时,终止的零长度区块从未被发送。  | 
833| ARKWEB_ERR_QUIC_PROTOCOL_ERROR  |  存在QUIC协议错误。  | 
834| ARKWEB_ERR_RESPONSE_HEADERS_TRUNCATED  |  HTTP响应头信息被文件结束符(EOF)截断。  | 
835| ARKWEB_ERR_QUIC_HANDSHAKE_FAILED  |  QUIC加密握手失败。这意味着服务器无法读取发送的任何请求,因此它们可能会被重新发送。  | 
836| ARKWEB_ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY  |  传输安全性不适合HTTP/2版本。  | 
837| ARKWEB_ERR_HTTP2_FLOW_CONTROL_ERROR  |  对等方违反了HTTP/2流控制。  | 
838| ARKWEB_ERR_HTTP2_FRAME_SIZE_ERROR  |  对等方发送了大小不正确的HTTP/2帧。  | 
839| ARKWEB_ERR_HTTP2_COMPRESSION_ERROR  |  压缩HTTP/2响应头信息的解码或编码失败。  | 
840| ARKWEB_ERR_PROXY_AUTH_REQUESTED_WITH_NO_CONNECTION  |  请求的代理身份验证没有有效的客户端套接字句柄。  | 
841| ARKWEB_ERR_HTTP_1_1_REQUIRED  |  在HTTP/2会话中收到HTTP_1_1_REQUIRED错误代码。  | 
842| ARKWEB_ERR_PROXY_HTTP_1_1_REQUIRED  |  在通过HTTP/2会话代理时收到HTTP_1_1_REQUIRED错误代码。  | 
843| ARKWEB_ERR_PAC_SCRIPT_TERMINATED  |  PAC脚本已终止并必须重新加载。  | 
844| ARKWEB_ERR_INVALID_HTTP_RESPONSE  |  服务器应返回HTTP/1.x响应,但未返回。而不是将其视为HTTP/0.9,返回此错误。  | 
845| ARKWEB_ERR_CONTENT_DECODING_INIT_FAILED  |  初始化内容解码失败。  | 
846| ARKWEB_ERR_HTTP2_RST_STREAM_NO_ERROR_RECEIVED  |  收到带有NO_ERROR错误代码的HTTP/2 RST_STREAM帧。此错误应由HTTP/2代码内部处理,而不应超过SpdyStream层。  | 
847| ARKWEB_ERR_HTTP2_PUSHED_STREAM_NOT_AVAILABLE  |  请求声明的推送流不再可用。  | 
848| ARKWEB_ERR_HTTP2_CLAIMED_PUSHED_STREAM_RESET_BY_SERVER  |  已声明推送的流,随后服务器将其重置。发生这种情况时,应该重试请求。  | 
849| ARKWEB_ERR_TOO_MANY_RETRIES  |  由于身份验证或证书无效,重试次数过多。  | 
850| ARKWEB_ERR_HTTP2_STREAM_CLOSED  |  在已关闭的流上收到一个HTTP/2帧。  | 
851| ARKWEB_ERR_HTTP2_CLIENT_REFUSED_STREAM  |  客户端拒绝了一个HTTP/2流。  | 
852| ARKWEB_ERR_HTTP2_PUSHED_RESPONSE_DOES_NOT_MATCH  |  基于匹配的URL和请求头,一个HTTP/2推送的流被请求所接收,但是推送的响应头并不匹配请求。  | 
853| ARKWEB_ERR_HTTP_RESPONSE_CODE_FAILURE  |  服务器返回了非2xx的HTTP响应代码。  | 
854| ARKWEB_ERR_QUIC_UNKNOWN_CERT_ROOT  |  在QUIC连接上展示的证书未链接到已知根证书,并且连接到的原始服务器不在允许未知根证书的域名列表中。  | 
855| ARKWEB_ERR_QUIC_GOAWAY_REQUEST_CAN_BE_RETRIED  |  已接收到一个GOAWAY帧,表明请求未得到处理,因此可以安全地在不同的连接上重试。  | 
856| ARKWEB_ERR_TOO_MANY_ACCEPT_CH_RESTARTS  |  ACCEPT_CH重启已被触发太多次。  | 
857| ARKWEB_ERR_INCONSISTENT_IP_ADDRESS_SPACE  |  在相同的请求期间,远程端点的IP地址空间与先前观察到的值不同。任何受影响的请求的缓存条目都应被标记为无效。  | 
858| ARKWEB_ERR_CACHED_IP_ADDRESS_SPACE_BLOCKED_BY_LOCAL_NETWORK_ACCESS_POLICY  |  缓存的远程端点的IP地址空间被本地网络访问检查所阻止。  | 
859| ARKWEB_ERR_CACHE_MISS  |  缓存中没有请求的条目。  | 
860| ARKWEB_ERR_CACHE_READ_FAILURE  |  无法从磁盘缓存中读取。  | 
861| ARKWEB_ERR_CACHE_WRITE_FAILURE  |  无法写入磁盘缓存。  | 
862| ARKWEB_ERR_CACHE_OPERATION_UNSUPPORTED  |  此条目不支持此操作。  | 
863| ARKWEB_ERR_CACHE_OPEN_FAILURE  |  磁盘缓存无法打开此条目。  | 
864| ARKWEB_ERR_CACHE_CREATE_FAILURE  |  磁盘缓存无法创建此条目。  | 
865| ARKWEB_ERR_CACHE_RACE  |  多个事务正在竞相创建磁盘缓存条目。  | 
866| ARKWEB_ERR_CACHE_CHECKSUM_READ_FAILURE  |  缓存无法读取条目上的校验和记录。  | 
867| ARKWEB_ERR_CACHE_CHECKSUM_MISMATCH  |  缓存发现一个具有无效校验和的条目。  | 
868| ARKWEB_ERR_CACHE_LOCK_TIMEOUT  |  HTTP缓存的内部错误代码。  | 
869| ARKWEB_ERR_CACHE_AUTH_FAILURE_AFTER_READ  |  在事务读取某些数据后收到质询,但凭据不可用。  | 
870| ARKWEB_ERR_CACHE_ENTRY_NOT_SUITABLE  |  针对HTTP缓存的一个内部使用的、非标准的错误代码。  | 
871| ARKWEB_ERR_CACHE_DOOM_FAILURE  |  磁盘缓存无法删除此条目。  | 
872| ARKWEB_ERR_CACHE_OPEN_OR_CREATE_FAILURE  |  磁盘缓存无法打开或创建此条目。  | 
873| ARKWEB_ERR_INSECURE_RESPONSE  |  服务器的响应不安全(例如,存在证书错误)。  | 
874| ARKWEB_ERR_NO_PRIVATE_KEY_FOR_CERT  |  尝试导入客户端证书失败,因为用户的密钥数据库缺少相应的私钥。  | 
875| ARKWEB_ERR_ADD_USER_CERT_FAILED  |  向操作系统证书数据库添加证书时发生错误。  | 
876| ARKWEB_ERR_INVALID_SIGNED_EXCHANGE  |  处理已签名的交换时发生错误。  | 
877| ARKWEB_ERR_INVALID_WEB_BUNDLE  |  处理Web Bundle源时发生错误。  | 
878| ARKWEB_ERR_TRUST_TOKEN_OPERATION_FAILED  |  执行Trust Tokens协议操作的请求失败(原因包括:预置条件失败、内部错误、不良响应)。  | 
879| ARKWEB_ERR_TRUST_TOKEN_OPERATION_SUCCESS_WITHOUT_SENDING_REQUEST  |  在处理一个与Trust Tokens协议相关的操作执行请求时,系统能够执行该请求中的Trust Tokens操作,但并没有将请求发送到其指定的目的地。  | 
880| ARKWEB_ERR_FTP_FAILED  |  FTP控制连接命令失败的通用错误。如果可能的话,请使用或添加一个更具体的错误代码。  | 
881| ARKWEB_ERR_FTP_SERVICE_UNAVAILABLE  |  服务器目前无法满足请求。这是一个临时错误。FTP响应代码421。  | 
882| ARKWEB_ERR_FTP_TRANSFER_ABORTED  |  服务器已中止传输。FTP响应代码426。  | 
883| ARKWEB_ERR_FTP_FILE_BUSY  |  文件正在使用中,或在打开文件时发生了一些其他临时错误条件。FTP响应代码450。  | 
884| ARKWEB_ERR_FTP_SYNTAX_ERROR  |  由于语法错误,服务器拒绝了我们的命令。FTP响应代码500、501。  | 
885| ARKWEB_ERR_FTP_COMMAND_UNSUPPORTED  |  服务器不支持我们发出的命令。FTP响应代码502、504。  | 
886| ARKWEB_ERR_FTP_BAD_COMMAND_SEQUENCE  |  服务器拒绝了我们的命令,因为我们没有按照正确的顺序发出命令。FTP响应代码503。  | 
887| ARKWEB_ERR_PKCS12_IMPORT_BAD_PASSWORD  |  由于密码不正确,PKCS \#12导入失败。  | 
888| ARKWEB_ERR_PKCS12_IMPORT_FAILED  |  由于其他错误,PKCS \#12导入失败。  | 
889| ARKWEB_ERR_IMPORT_CA_CERT_NOT_CA  |  CA导入失败——不是CA证书。  | 
890| ARKWEB_ERR_IMPORT_CERT_ALREADY_EXISTS  |  导入失败——数据库中已存在证书。  | 
891| ARKWEB_ERR_IMPORT_CA_CERT_FAILED  |  由于其他错误,CA导入失败。  | 
892| ARKWEB_ERR_IMPORT_SERVER_CERT_FAILED  |  由于某些内部错误,服务器证书导入失败。  | 
893| ARKWEB_ERR_PKCS12_IMPORT_INVALID_MAC  |  PKCS \#12导入失败,因为MAC(消息认证码)无效。  | 
894| ARKWEB_ERR_PKCS12_IMPORT_INVALID_FILE  |  PKCS \#12导入失败,因为文件无效或已损坏。  | 
895| ARKWEB_ERR_PKCS12_IMPORT_UNSUPPORTED  |  由于不支持的特性,PKCS \#12导入失败。  | 
896| ARKWEB_ERR_KEY_GENERATION_FAILED  |  密钥生成失败。  | 
897| ARKWEB_ERR_PRIVATE_KEY_EXPORT_FAILED  |  无法导出私钥。  | 
898| ARKWEB_ERR_SELF_SIGNED_CERT_GENERATION_FAILED  |  自签名证书生成失败。  | 
899| ARKWEB_ERR_CERT_DATABASE_CHANGED  |  证书数据库已发生某种更改。  | 
900| ARKWEB_ERR_CERT_VERIFIER_CHANGED  |  证书验证配置已发生某种更改。  | 
901| ARKWEB_ERR_DNS_MALFORMED_RESPONSE  |  DNS解析程序收到格式错误的响应。  | 
902| ARKWEB_ERR_DNS_SERVER_REQUIRES_TCP  |  DNS服务器需要TCP。  | 
903| ARKWEB_ERR_DNS_SERVER_FAILED  |  DNS服务器失败。对于以下所有错误情况,都会返回此错误:1 - 格式错误 - 名称服务器无法解释查询。 2 - 服务器故障 - 名称服务器由于自身问题无法处理这个查询。4 - 未实现 - 名称服务器不支持请求的查询类型。 5 - 拒绝 - 名称服务器出于策略原因拒绝执行指定的操作。  | 
904| ARKWEB_ERR_DNS_TIMED_OUT  |  DNS事务超时。  | 
905| ARKWEB_ERR_DNS_CACHE_MISS  |  对于只查询本地源的查找,在缓存或其他本地源中未找到该条目。  | 
906| ARKWEB_ERR_DNS_SEARCH_EMPTY  |  后缀搜索列表规则阻止了给定主机名的解析。  | 
907| ARKWEB_ERR_DNS_SORT_ERROR  |  未能根据RFC3484对地址进行排序。  | 
908| ARKWEB_ERR_DNS_SECURE_RESOLVER_HOSTNAME_RESOLUTION_FAILED  |  未能解析DNS-over-HTTPS服务器的主机名。  | 
909| ARKWEB_ERR_DNS_NAME_HTTPS_ONLY  |  DNS已识别请求因不安全的连接(http/ws)而被禁止。应用程序应该像处理HTTP重定向一样处理这个错误,将连接重定向到安全的https或wss。  | 
910| ARKWEB_ERR_DNS_REQUEST_CANCELED  |  与此任务相关的所有DNS请求已被取消。  | 
911| ARKWEB_ERR_DNS_NO_MATCHING_SUPPORTED_ALPN  |  HTTPS记录的主机名解析预期未能使用受支持协议的ALPN值进行解析。  | 
912
913### ArkWeb_ResourceType
914
915```
916enum ArkWeb_ResourceType
917```
918**描述:**
919
920请求的资源类型。
921
922这些常量与Chromium中的ResourceType的对应项相匹配,不应重新编号。
923
924**系统能力:** SystemCapability.Web.Webview.Core
925
926**起始版本:** 12
927
928| 枚举值 | 描述 | 
929| -------- | -------- |
930| MAIN_FRAME  | 顶层页面。  | 
931| SUB_FRAME  | Frame或Iframe。  | 
932| STYLE_SHEET  | CSS样式表。  | 
933| SCRIPT  | 外部脚本。  | 
934| IMAGE  | 图片(jpg/gif/png/以及其他)。  | 
935| FONT_RESOURCE  | 字体。  | 
936| SUB_RESOURCE  | 其他子资源。如果实际类型未知,则是默认类型。  | 
937| OBJECT  | 插件的Object(或embed)标签,或者插件请求的资源。  | 
938| MEDIA  | 媒体资源。  | 
939| WORKER  | 专用工作线程的主资源。  | 
940| SHARED_WORKER  | 共享工作线程的主资源。  | 
941| PREFETCH  | 明确的预取请求。  | 
942| FAVICON  | 网站图标。  | 
943| XHR  | XMLHttpRequest。  | 
944| PING  | /sendBeacon的Ping请求。  | 
945| SERVICE_WORKER  | service worker的主资源。  | 
946| CSP_REPORT  | 内容安全策略违规报告。  | 
947| PLUGIN_RESOURCE  | 插件请求的资源。  | 
948| NAVIGATION_PRELOAD_MAIN_FRAME  | 触发service worker预热的主frame跳转请求。  | 
949| NAVIGATION_PRELOAD_SUB_FRAME  | 触发service worker预热的子frame跳转请求。  | 
950
951
952### ArkWeb_WebMessageType
953
954```
955enum ArkWeb_WebMessageType
956```
957**描述:**
958
959Post Message数据类型。
960
961**起始版本:** 12
962
963| 枚举值 | 描述 | 
964| -------- | -------- |
965| ARKWEB_NONE  | 错误数据。  | 
966| ARKWEB_STRING  | 字符串数据类型。  | 
967| ARKWEB_BUFFER  | 字节流数据类型。  | 
968
969
970## 函数说明
971
972
973### OH_ArkWeb_ClearSchemeHandlers()
974
975```
976int32_t OH_ArkWeb_ClearSchemeHandlers (const char * webTag)
977```
978**描述:**
979
980清除为指定web注册的SchemeHandler。
981
982**系统能力:** SystemCapability.Web.Webview.Core
983
984**起始版本:** 12
985
986**参数:**
987
988| 名称 | 描述 | 
989| -------- | -------- |
990| webTag | Web组件的标签名称,用于标识某个唯一组件,由开发者来保证名称唯一性。  | 
991
992**返回:**
993
994如果返回0,表示成功;返回17100101,表示参数无效。
995
996
997### OH_ArkWeb_CreateResponse()
998
999```
1000void OH_ArkWeb_CreateResponse (ArkWeb_Response ** response)
1001```
1002**描述:**
1003
1004为被拦截的请求创建一个ArkWeb_Response对象。
1005
1006**系统能力:** SystemCapability.Web.Webview.Core
1007
1008**起始版本:** 12
1009
1010**参数:**
1011
1012| 名称 | 描述 | 
1013| -------- | -------- |
1014| response | 返回创建的ArkWeb_Response。在不需要时使用OH_ArkWeb_DestoryResponse进行销毁。 | 
1015
1016
1017### OH_ArkWeb_CreateSchemeHandler()
1018
1019```
1020void OH_ArkWeb_CreateSchemeHandler (ArkWeb_SchemeHandler ** schemeHandler)
1021```
1022**描述:**
1023
1024创建一个ArkWeb_SchemeHandler对象。
1025
1026**系统能力:** SystemCapability.Web.Webview.Core
1027
1028**起始版本:** 12
1029
1030**参数:**
1031
1032| 名称 | 描述 | 
1033| -------- | -------- |
1034| schemeHandler | 返回创建的ArkWeb_SchemeHandler。在不需要时使用OH_ArkWeb_DestoryschemeHandler销毁它。 | 
1035
1036
1037### OH_ArkWeb_DestroyResponse()
1038
1039```
1040void OH_ArkWeb_DestroyResponse (ArkWeb_Response * response)
1041```
1042**描述:**
1043
1044销毁一个ArkWeb_Response对象。
1045
1046**系统能力:** SystemCapability.Web.Webview.Core
1047
1048**起始版本:** 12
1049
1050**参数:**
1051
1052| 名称 | 描述 | 
1053| -------- | -------- |
1054| response | 待销毁的ArkWeb_Response。 | 
1055
1056
1057### OH_ArkWeb_DestroySchemeHandler()
1058
1059```
1060void OH_ArkWeb_DestroySchemeHandler (ArkWeb_SchemeHandler * schemeHandler)
1061```
1062**描述:**
1063
1064销毁一个ArkWeb_SchemeHandler对象。
1065
1066**系统能力:** SystemCapability.Web.Webview.Core
1067
1068**起始版本:** 12
1069
1070**参数:**
1071
1072| 名称 | 描述 | 
1073| -------- | -------- |
1074| schemeHandler | 待销毁的ArkWeb_SchemeHandler。 | 
1075
1076
1077### OH_ArkWeb_GetNativeAPI()
1078
1079```
1080ArkWeb_AnyNativeAPI* OH_ArkWeb_GetNativeAPI (ArkWeb_NativeAPIVariantKind type)
1081```
1082**描述:**
1083
1084根据传入的API类型,获取对应的Native API结构体。
1085
1086**系统能力:** SystemCapability.Web.Webview.Core
1087
1088**起始版本:** 12
1089
1090**参数:**
1091
1092| 名称 | 描述 | 
1093| -------- | -------- |
1094| type | ArkWeb支持的Native API类型。  | 
1095
1096**返回:**
1097
1098根据传入的API类型,返回对应的Native API结构体指针,结构体第一个成员为当前结构体的大小。
1099
1100
1101### OH_ArkWeb_RegisterCustomSchemes()
1102
1103```
1104int32_t OH_ArkWeb_RegisterCustomSchemes (const char * scheme, int32_t option )
1105```
1106**描述:**
1107
1108将custom scheme注册到ArkWeb。
1109
1110对于内置的HTTP、HTTPS、FILE、FTP、ABOUT和DATA协议,不应调用此函数。
1111
1112此函数应在主线程上调用并且需要在内核初始化之前调用。
1113
1114**系统能力:** SystemCapability.Web.Webview.Core
1115
1116**起始版本:** 12
1117
1118**参数:**
1119
1120| 名称 | 描述 | 
1121| -------- | -------- |
1122| scheme | 待注册的scheme。  | 
1123| option | scheme的配置(行为)。  | 
1124
1125**返回:**
1126
1127如果返回0,表示成功;返回17100100,表示未知错误;返回17100101,表示参数无效;返回17100102,表示注册scheme的配置失败,应该在创建ArkWeb之前注册。
1128
1129
1130### OH_ArkWeb_ReleaseByteArray()
1131
1132```
1133void OH_ArkWeb_ReleaseByteArray (uint8_t * byteArray)
1134```
1135**描述:**
1136
1137释放由NDK接口创建的字节数组。
1138
1139**系统能力:** SystemCapability.Web.Webview.Core
1140
1141**起始版本:** 12
1142
1143**参数:**
1144
1145| 名称 | 描述 | 
1146| -------- | -------- |
1147| byteArray | 待释放的字节数组。 | 
1148
1149
1150### OH_ArkWeb_ReleaseString()
1151
1152```
1153void OH_ArkWeb_ReleaseString (char * string)
1154```
1155**描述:**
1156
1157释放由NDK接口创建的字符串
1158
1159**系统能力:** SystemCapability.Web.Webview.Core
1160
1161**起始版本:** 12
1162
1163**参数:**
1164
1165| 名称 | 描述 | 
1166| -------- | -------- |
1167| string | 待释放的字符串。 | 
1168
1169
1170### OH_ArkWeb_SetSchemeHandler()
1171
1172```
1173bool OH_ArkWeb_SetSchemeHandler (const char * scheme, const char * webTag, ArkWeb_SchemeHandler * schemeHandler )
1174```
1175**描述:**
1176
1177为指定scheme设置一个ArkWeb_SchemeHandler以拦截该scheme类型的请求。
1178
1179应该在创建BrowserContext之后设置SchemeHandler。
1180
1181可以使用WebviewController.initializeWebEngine来初始化BrowserContext而无需创建ArkWeb。
1182
1183**系统能力:** SystemCapability.Web.Webview.Core
1184
1185**起始版本:** 12
1186
1187**参数:**
1188
1189| 名称 | 描述 | 
1190| -------- | -------- |
1191| scheme | 需要被拦截的scheme。  | 
1192| webTag | Web组件的标签名称,用于标识某个唯一组件,由开发者来保证名称唯一性。  | 
1193| schemeHandler | 该scheme的拦截器ArkWeb_SchemeHandler。只有从指定web触发的请求才会通过这个schemeHandler进行通知。  | 
1194
1195**返回:**
1196
1197如果为指定scheme设置SchemeHandler成功,则返回true,否则返回false。
1198
1199
1200### OH_ArkWebHttpBodyStream_GetPosition()
1201
1202```
1203uint64_t OH_ArkWebHttpBodyStream_GetPosition (const ArkWeb_HttpBodyStream * httpBodyStream)
1204```
1205**描述:**
1206
1207获取httpBodyStream当前的读取位置。
1208
1209**系统能力:** SystemCapability.Web.Webview.Core
1210
1211**起始版本:** 12
1212
1213**参数:**
1214
1215| 名称 | 描述 | 
1216| -------- | -------- |
1217| httpBodyStream | ArkWeb_HttpBodyStream。  | 
1218
1219**返回:**
1220
1221httpBodyStream当前的读取位置。如果httpBodyStream无效,则位置为0。
1222
1223
1224### OH_ArkWebHttpBodyStream_GetSize()
1225
1226```
1227uint64_t OH_ArkWebHttpBodyStream_GetSize (const ArkWeb_HttpBodyStream * httpBodyStream)
1228```
1229**描述:**
1230
1231获取httpBodyStream的大小。
1232
1233当数据以分块的形式传输或httpBodyStream无效时,始终返回0。
1234
1235**系统能力:** SystemCapability.Web.Webview.Core
1236
1237**起始版本:** 12
1238
1239**参数:**
1240
1241| 名称 | 描述 | 
1242| -------- | -------- |
1243| httpBodyStream | ArkWeb_HttpBodyStream。  | 
1244
1245**返回:**
1246
1247httpBodyStream的大小。
1248
1249
1250### OH_ArkWebHttpBodyStream_GetUserData()
1251
1252```
1253void* OH_ArkWebHttpBodyStream_GetUserData (const ArkWeb_HttpBodyStream * httpBodyStream)
1254```
1255**描述:**
1256
1257从ArkWeb_HttpBodyStream获取用户数据。
1258
1259**系统能力:** SystemCapability.Web.Webview.Core
1260
1261**起始版本:** 12
1262
1263**参数:**
1264
1265| 名称 | 描述 | 
1266| -------- | -------- |
1267| httpBodyStream | ArkWeb_HttpBodyStream。  | 
1268
1269**返回:**
1270
1271设置的用户数据。
1272
1273
1274### OH_ArkWebHttpBodyStream_Init()
1275
1276```
1277int32_t OH_ArkWebHttpBodyStream_Init (ArkWeb_HttpBodyStream * httpBodyStream, ArkWeb_HttpBodyStreamInitCallback initCallback )
1278```
1279**描述:**
1280
1281初始化ArkWeb_HttpBodyStream。
1282
1283在调用任何其他函数之前,必须调用此函数。该接口需要在IO线程调用。
1284
1285**系统能力:** SystemCapability.Web.Webview.Core
1286
1287**起始版本:** 12
1288
1289**参数:**
1290
1291| 名称 | 描述 | 
1292| -------- | -------- |
1293| httpBodyStream | ArkWeb_HttpBodyStream。  | 
1294| initCallback | 初始化的回调函数。  | 
1295
1296**返回:**
1297
1298如果返回0,表示成功;返回17100101,表示参数无效。
1299
1300
1301### OH_ArkWebHttpBodyStream_IsChunked()
1302
1303```
1304bool OH_ArkWebHttpBodyStream_IsChunked (const ArkWeb_HttpBodyStream * httpBodyStream)
1305```
1306**描述:**
1307
1308获取httpBodyStream是否采用分块传输。
1309
1310**系统能力:** SystemCapability.Web.Webview.Core
1311
1312**起始版本:** 12
1313
1314**参数:**
1315
1316| 名称 | 描述 | 
1317| -------- | -------- |
1318| httpBodyStream | ArkWeb_HttpBodyStream。  | 
1319
1320**返回:**
1321
1322如果采用分块传输则返回true;否则返回false。
1323
1324
1325### OH_ArkWebHttpBodyStream_IsEof()
1326
1327```
1328bool OH_ArkWebHttpBodyStream_IsEof (const ArkWeb_HttpBodyStream * httpBodyStream)
1329```
1330**描述:**
1331
1332如果httpBodyStream中的所有数据都已被读取,则返回true。
1333
1334对于分块传输类型的httpBodyStream,在第一次读取尝试之前返回false。
1335
1336**系统能力:** SystemCapability.Web.Webview.Core
1337
1338**起始版本:** 12
1339
1340**参数:**
1341
1342| 名称 | 描述 | 
1343| -------- | -------- |
1344| httpBodyStream | ArkWeb_HttpBodyStream。  | 
1345
1346**返回:**
1347
1348如果所有数据都已被读取则返回true;否则返回false。
1349
1350
1351### OH_ArkWebHttpBodyStream_IsInMemory()
1352
1353```
1354bool OH_ArkWebHttpBodyStream_IsInMemory (const ArkWeb_HttpBodyStream * httpBodyStream)
1355```
1356**描述:**
1357
1358如果httpBodyStream中的上传数据完全在内存中,并且所有读取请求都将同步成功,则返回true。
1359
1360对于分块传输类型的数据,预期返回false。
1361
1362**系统能力:** SystemCapability.Web.Webview.Core
1363
1364**起始版本:** 12
1365
1366**参数:**
1367
1368| 名称 | 描述 | 
1369| -------- | -------- |
1370| httpBodyStream | ArkWeb_HttpBodyStream。  | 
1371
1372**返回:**
1373
1374如果上传数据完全在内存中则返回true;否则返回false。
1375
1376
1377### OH_ArkWebHttpBodyStream_Read()
1378
1379```
1380void OH_ArkWebHttpBodyStream_Read (const ArkWeb_HttpBodyStream * httpBodyStream, uint8_t * buffer, int bufLen )
1381```
1382**描述:**
1383
1384将请求的上传数据读取到buffer。
1385
1386buffer的大小必须大于bufLen。我们将从工作线程读取数据到buffer,因此在回调函数返回之前,不应在其他线程中使用buffer,以避免并发问题。
1387
1388**系统能力:** SystemCapability.Web.Webview.Core
1389
1390**起始版本:** 12
1391
1392**参数:**
1393
1394| 名称 | 描述 | 
1395| -------- | -------- |
1396| httpBodyStream | ArkWeb_HttpBodyStream。  | 
1397| buffer | 接收数据的buffer。  | 
1398| bufLen | 要读取的字节的大小。 | 
1399
1400
1401### OH_ArkWebHttpBodyStream_SetReadCallback()
1402
1403```
1404int32_t OH_ArkWebHttpBodyStream_SetReadCallback (ArkWeb_HttpBodyStream * httpBodyStream, ArkWeb_HttpBodyStreamReadCallback readCallback )
1405```
1406**描述:**
1407
1408为OH_ArkWebHttpBodyStream_Read设置回调函数。
1409
1410OH_ArkWebHttpBodyStream_Read的结果将通过readCallback通知给调用者。
1411
1412该回调函数将在与OH_ArkWebHttpBodyStream_Read相同的线程中运行。
1413
1414**系统能力:** SystemCapability.Web.Webview.Core
1415
1416**起始版本:** 12
1417
1418**参数:**
1419
1420| 名称 | 描述 | 
1421| -------- | -------- |
1422| httpBodyStream | ArkWeb_HttpBodyStream。  | 
1423| readCallback | OH_ArkWebHttpBodyStream_Read的回调函数。  | 
1424
1425**返回:**
1426
1427如果返回0,表示成功;返回17100101,表示参数无效。
1428
1429
1430### OH_ArkWebHttpBodyStream_SetUserData()
1431
1432```
1433int32_t OH_ArkWebHttpBodyStream_SetUserData (ArkWeb_HttpBodyStream * httpBodyStream, void * userData )
1434```
1435**描述:**
1436
1437将一个用户数据设置到ArkWeb_HttpBodyStream对象中。
1438
1439**系统能力:** SystemCapability.Web.Webview.Core
1440
1441**起始版本:** 12
1442
1443**参数:**
1444
1445| 名称 | 描述 | 
1446| -------- | -------- |
1447| httpBodyStream | ArkWeb_HttpBodyStream。  | 
1448| userData | 要设置的用户数据。  | 
1449
1450**返回:**
1451
1452如果返回0,表示成功;返回17100101,表示参数无效。
1453
1454
1455### OH_ArkWebRequestHeaderList_Destroy()
1456
1457```
1458void OH_ArkWebRequestHeaderList_Destroy (ArkWeb_RequestHeaderList * requestHeaderList)
1459```
1460**描述:**
1461
1462销毁ArkWeb_RequestHeaderList对象。
1463
1464**系统能力:** SystemCapability.Web.Webview.Core
1465
1466**起始版本:** 12
1467
1468**参数:**
1469
1470| 名称 | 描述 | 
1471| -------- | -------- |
1472| requestHeaderList | 将被销毁的ArkWeb_RequestHeaderList。 | 
1473
1474
1475### OH_ArkWebRequestHeaderList_GetHeader()
1476
1477```
1478void OH_ArkWebRequestHeaderList_GetHeader (const ArkWeb_RequestHeaderList * requestHeaderList, int32_t index, char ** key, char ** value )
1479```
1480**描述:**
1481
1482获取指定的请求头。
1483
1484**系统能力:** SystemCapability.Web.Webview.Core
1485
1486**起始版本:** 12
1487
1488**参数:**
1489
1490| 名称 | 描述 | 
1491| -------- | -------- |
1492| requestHeaderList | 请求头列表。  | 
1493| index | 请求头的索引。  | 
1494| key | 请求头的键(key)。调用者必须使用OH_ArkWeb_ReleaseString函数来释放这个字符串。  | 
1495| value | 请求头的值(value)。调用者必须使用OH_ArkWeb_ReleaseString函数来释放这个字符串。 | 
1496
1497
1498### OH_ArkWebRequestHeaderList_GetSize()
1499
1500```
1501int32_t OH_ArkWebRequestHeaderList_GetSize (const ArkWeb_RequestHeaderList * requestHeaderList)
1502```
1503**描述:**
1504
1505获取请求头列表的大小。
1506
1507**系统能力:** SystemCapability.Web.Webview.Core
1508
1509**起始版本:** 12
1510
1511**参数:**
1512
1513| 名称 | 描述 | 
1514| -------- | -------- |
1515| requestHeaderList | 请求头的列表。  | 
1516
1517**返回:**
1518
1519请求头的大小。如果requestHeaderList无效,则为-1。
1520
1521
1522### OH_ArkWebResourceHandler_Destroy()
1523
1524```
1525int32_t OH_ArkWebResourceHandler_Destroy (const ArkWeb_ResourceHandler * resourceHandler)
1526```
1527**描述:**
1528
1529销毁一个ArkWeb_ResourceHandler对象。
1530
1531**系统能力:** SystemCapability.Web.Webview.Core
1532
1533**起始版本:** 12
1534
1535**参数:**
1536
1537| 名称 | 描述 | 
1538| -------- | -------- |
1539| resourceHandler | ArkWeb_ResourceHandler。  | 
1540
1541**返回:**
1542
1543如果返回0,表示成功;返回17100101,表示参数无效。
1544
1545
1546### OH_ArkWebResourceHandler_DidFailWithError()
1547
1548```
1549int32_t OH_ArkWebResourceHandler_DidFailWithError (const ArkWeb_ResourceHandler * resourceHandler, ArkWeb_NetError errorCode )
1550```
1551**描述:**
1552
1553通知ArkWeb内核被拦截请求应该失败。
1554
1555**系统能力:** SystemCapability.Web.Webview.Core
1556
1557**起始版本:** 12
1558
1559**参数:**
1560
1561| 名称 | 描述 | 
1562| -------- | -------- |
1563| resourceHandler | 该请求的ArkWeb_ResourceHandler。  | 
1564| errorCode | 该请求的错误码。请参考[arkweb_net_error_list.h](arkweb__net__error__list_8h.md)。  | 
1565
1566**返回:**
1567
1568如果返回0,表示成功;返回17100101,表示参数无效。
1569
1570
1571### OH_ArkWebResourceHandler_DidFinish()
1572
1573```
1574int32_t OH_ArkWebResourceHandler_DidFinish (const ArkWeb_ResourceHandler * resourceHandler)
1575```
1576**描述:**
1577
1578通知ArkWeb内核被拦截的请求已经完成,并且没有更多的数据可用。
1579
1580**系统能力:** SystemCapability.Web.Webview.Core
1581
1582**起始版本:** 12
1583
1584**参数:**
1585
1586| 名称 | 描述 | 
1587| -------- | -------- |
1588| resourceHandler | 该请求的ArkWeb_ResourceHandler。  | 
1589
1590**返回:**
1591
1592如果返回0,表示成功;返回17100101,表示参数无效。
1593
1594
1595### OH_ArkWebResourceHandler_DidReceiveData()
1596
1597```
1598int32_t OH_ArkWebResourceHandler_DidReceiveData (const ArkWeb_ResourceHandler * resourceHandler, const uint8_t * buffer, int64_t bufLen )
1599```
1600**描述:**
1601
1602将构造的响应体传递给被拦截的请求。
1603
1604**系统能力:** SystemCapability.Web.Webview.Core
1605
1606**起始版本:** 12
1607
1608**参数:**
1609
1610| 名称 | 描述 | 
1611| -------- | -------- |
1612| resourceHandler | 该请求的ArkWeb_ResourceHandler。  | 
1613| buffer | 要发送的buffer数据。  | 
1614| bufLen | buffer的大小。  | 
1615
1616**返回:**
1617
1618如果返回0,表示成功;返回17100101,表示参数无效。
1619
1620
1621### OH_ArkWebResourceHandler_DidReceiveResponse()
1622
1623```
1624int32_t OH_ArkWebResourceHandler_DidReceiveResponse (const ArkWeb_ResourceHandler * resourceHandler, const ArkWeb_Response * response )
1625```
1626**描述:**
1627
1628将构造的响应头传递给被拦截的请求。
1629
1630**系统能力:** SystemCapability.Web.Webview.Core
1631
1632**起始版本:** 12
1633
1634**参数:**
1635
1636| 名称 | 描述 | 
1637| -------- | -------- |
1638| resourceHandler | 该请求的ArkWeb_ResourceHandler。  | 
1639| response | 该拦截请求的ArkWeb_Response。  | 
1640
1641**返回:**
1642
1643如果返回0,表示成功;返回17100101,表示参数无效。
1644
1645
1646### OH_ArkWebResourceRequest_Destroy()
1647
1648```
1649int32_t OH_ArkWebResourceRequest_Destroy (const ArkWeb_ResourceRequest * resourceRequest)
1650```
1651**描述:**
1652
1653销毁ArkWeb_ResourceRequest对象。
1654
1655**系统能力:** SystemCapability.Web.Webview.Core
1656
1657**起始版本:** 12
1658
1659**参数:**
1660
1661| 名称 | 描述 | 
1662| -------- | -------- |
1663| resourceRequest | ArkWeb_ResourceRequest。  | 
1664
1665**返回:**
1666
1667如果返回0,表示成功;返回17100101,表示参数无效。
1668
1669
1670### OH_ArkWebResourceRequest_DestroyHttpBodyStream()
1671
1672```
1673void OH_ArkWebResourceRequest_DestroyHttpBodyStream (ArkWeb_HttpBodyStream * httpBodyStream)
1674```
1675**描述:**
1676
1677销毁ArkWeb_HttpBodyStream对象。
1678
1679**系统能力:** SystemCapability.Web.Webview.Core
1680
1681**起始版本:** 12
1682
1683**参数:**
1684
1685| 名称 | 描述 | 
1686| -------- | -------- |
1687| httpBodyStream | 待销毁的httpBodyStream。 | 
1688
1689
1690### OH_ArkWebResourceRequest_GetFrameUrl()
1691
1692```
1693void OH_ArkWebResourceRequest_GetFrameUrl (const ArkWeb_ResourceRequest * resourceRequest, char ** frameUrl )
1694```
1695**描述:**
1696
1697获取触发此请求的Frame的URL。
1698
1699**系统能力:** SystemCapability.Web.Webview.Core
1700
1701**起始版本:** 12
1702
1703**参数:**
1704
1705| 名称 | 描述 | 
1706| -------- | -------- |
1707| resourceRequest | ArkWeb_ResourceRequest。  | 
1708| frameUrl | 触发此请求的Frame的URL。此函数将为URL字符串分配内存,并且调用者必须通过OH_ArkWeb_ReleaseString来释放该字符串。 | 
1709
1710
1711### OH_ArkWebResourceRequest_GetHttpBodyStream()
1712
1713```
1714void OH_ArkWebResourceRequest_GetHttpBodyStream (const ArkWeb_ResourceRequest * resourceRequest, ArkWeb_HttpBodyStream ** httpBodyStream )
1715```
1716**描述:**
1717
1718创建一个ArkWeb_HttpBodyStream,用于读取请求的上传数据。
1719
1720**系统能力:** SystemCapability.Web.Webview.Core
1721
1722**起始版本:** 12
1723
1724**参数:**
1725
1726| 名称 | 描述 | 
1727| -------- | -------- |
1728| resourceRequest | ArkWeb_ResourceRequest。  | 
1729| httpBodyStream | 请求的上传数据。此函数将为httpBodyStream分配内存, 调用者必须使用OH_ArkWebResourceRequest_DestroyHttpBodyStream释放httpBodyStream。 | 
1730
1731
1732### OH_ArkWebResourceRequest_GetMethod()
1733
1734```
1735void OH_ArkWebResourceRequest_GetMethod (const ArkWeb_ResourceRequest * resourceRequest, char ** method )
1736```
1737**描述:**
1738
1739获取请求的method。
1740
1741**系统能力:** SystemCapability.Web.Webview.Core
1742
1743**起始版本:** 12
1744
1745**参数:**
1746
1747| 名称 | 描述 | 
1748| -------- | -------- |
1749| resourceRequest | ArkWeb_ResourceRequest。  | 
1750| method | HTTP请求方法。此函数将为method字符串分配内存,调用者必须使用OH_ArkWeb_ReleaseString释放字符串。 | 
1751
1752
1753### OH_ArkWebResourceRequest_GetReferrer()
1754
1755```
1756void OH_ArkWebResourceRequest_GetReferrer (const ArkWeb_ResourceRequest * resourceRequest, char ** referrer )
1757```
1758**描述:**
1759
1760获取请求的Referrer。
1761
1762**系统能力:** SystemCapability.Web.Webview.Core
1763
1764**起始版本:** 12
1765
1766**参数:**
1767
1768| 名称 | 描述 | 
1769| -------- | -------- |
1770| resourceRequest | ArkWeb_ResourceRequest。  | 
1771| referrer | 请求的Referrer。此函数将为referrer字符串分配内存,调用者必须使用 OH_ArkWeb_ReleaseString 释放该字符串。 | 
1772
1773### OH_ArkWebResourceRequest_GetRequestHeaders()
1774
1775```
1776void OH_ArkWebResourceRequest_GetRequestHeaders (const ArkWeb_ResourceRequest * resourceRequest, ArkWeb_RequestHeaderList ** requestHeaderList )
1777```
1778**描述:**
1779
1780获取请求的请求头列表OH_ArkWeb_RequestHeaderList。
1781
1782**系统能力:** SystemCapability.Web.Webview.Core
1783
1784**起始版本:** 12
1785
1786**参数:**
1787
1788| 名称 | 描述 | 
1789| -------- | -------- |
1790| resourceRequest | ArkWeb_ResourceRequest。  | 
1791| requestHeaderList | 请求的请求头列表。 | 
1792
1793
1794### OH_ArkWebResourceRequest_GetResourceType()
1795
1796```
1797int32_t OH_ArkWebResourceRequest_GetResourceType (const ArkWeb_ResourceRequest * resourceRequest)
1798```
1799**描述:**
1800
1801获取请求的资源类型。
1802
1803**系统能力:** SystemCapability.Web.Webview.Core
1804
1805**起始版本:** 12
1806
1807**参数:**
1808
1809| 名称 | 描述 | 
1810| -------- | -------- |
1811| resourceRequest | ArkWeb_ResourceRequest。  | 
1812
1813**返回:**
1814
1815请求的资源类型。如果resourceRequest无效,则为-1。
1816
1817
1818### OH_ArkWebResourceRequest_GetUrl()
1819
1820```
1821void OH_ArkWebResourceRequest_GetUrl (const ArkWeb_ResourceRequest * resourceRequest, char ** url )
1822```
1823**描述:**
1824
1825获取请求的url。
1826
1827**系统能力:** SystemCapability.Web.Webview.Core
1828
1829**起始版本:** 12
1830
1831**参数:**
1832
1833| 名称 | 描述 | 
1834| -------- | -------- |
1835| resourceRequest | ArkWeb_ResourceRequest。  | 
1836| url | 请求的URL。此函数将为URL字符串分配内存,调用者必须通过OH_ArkWeb_ReleaseString释放该字符串。 | 
1837
1838
1839### OH_ArkWebResourceRequest_GetUserData()
1840
1841```
1842void* OH_ArkWebResourceRequest_GetUserData (const ArkWeb_ResourceRequest * resourceRequest)
1843```
1844**描述:**
1845
1846从ArkWeb_ResourceRequest获取用户数据。
1847
1848**系统能力:** SystemCapability.Web.Webview.Core
1849
1850**起始版本:** 12
1851
1852**参数:**
1853
1854| 名称 | 描述 | 
1855| -------- | -------- |
1856| resourceRequest | ArkWeb_ResourceRequest。  | 
1857
1858**返回:**
1859
1860设置的用户数据。
1861
1862
1863### OH_ArkWebResourceRequest_HasGesture()
1864
1865```
1866bool OH_ArkWebResourceRequest_HasGesture (const ArkWeb_ResourceRequest * resourceRequest)
1867```
1868**描述:**
1869
1870判断这是否是一个由用户手势触发的请求。
1871
1872**系统能力:** SystemCapability.Web.Webview.Core
1873
1874**起始版本:** 12
1875
1876**参数:**
1877
1878| 名称 | 描述 | 
1879| -------- | -------- |
1880| resourceRequest | ArkWeb_ResourceRequest。  | 
1881
1882**返回:**
1883
1884如果这是由用户手势触发的,则返回true;否则返回false。
1885
1886
1887### OH_ArkWebResourceRequest_IsMainFrame()
1888
1889```
1890bool OH_ArkWebResourceRequest_IsMainFrame (const ArkWeb_ResourceRequest * resourceRequest)
1891```
1892**描述:**
1893
1894判断这是否是主框架文档资源的请求。
1895
1896**系统能力:** SystemCapability.Web.Webview.Core
1897
1898**起始版本:** 12
1899
1900**参数:**
1901
1902| 名称 | 描述 | 
1903| -------- | -------- |
1904| resourceRequest | ArkWeb_ResourceRequest。  | 
1905
1906**返回:**
1907
1908如果这是来自主框架,则返回true;否则返回false。
1909
1910
1911### OH_ArkWebResourceRequest_IsRedirect()
1912
1913```
1914bool OH_ArkWebResourceRequest_IsRedirect (const ArkWeb_ResourceRequest * resourceRequest)
1915```
1916**描述:**
1917
1918判断这是否是一个重定向请求。
1919
1920**系统能力:** SystemCapability.Web.Webview.Core
1921
1922**起始版本:** 12
1923
1924**参数:**
1925
1926| 名称 | 描述 | 
1927| -------- | -------- |
1928| resourceRequest | ArkWeb_ResourceRequest。  | 
1929
1930**返回:**
1931
1932如果这是一个重定向,则返回true;否则返回false。
1933
1934
1935### OH_ArkWebResourceRequest_SetUserData()
1936
1937```
1938int32_t OH_ArkWebResourceRequest_SetUserData (ArkWeb_ResourceRequest * resourceRequest, void * userData )
1939```
1940**描述:**
1941
1942将一个用户数据设置到ArkWeb_ResourceRequest对象中。
1943
1944**系统能力:** SystemCapability.Web.Webview.Core
1945
1946**起始版本:** 12
1947
1948**参数:**
1949
1950| 名称 | 描述 | 
1951| -------- | -------- |
1952| resourceRequest | ArkWeb_ResourceRequest。  | 
1953| userData | 将要设置的用户数据。  | 
1954
1955**返回:**
1956
1957如果返回0,表示成功;返回17100101,表示参数无效。
1958
1959
1960### OH_ArkWebResponse_GetCharset()
1961
1962```
1963void OH_ArkWebResponse_GetCharset (const ArkWeb_Response * response, char ** charset )
1964```
1965**描述:**
1966
1967获取ArkWeb_Response的字符集。
1968
1969**系统能力:** SystemCapability.Web.Webview.Core
1970
1971**起始版本:** 12
1972
1973**参数:**
1974
1975| 名称 | 描述 | 
1976| -------- | -------- |
1977| response | ArkWeb_Response。  | 
1978| charset | 返回ArkWeb_Response的字符集。此函数将为charset字符串分配内存,调用方必须通过OH_ArkWeb_ReleaseString释放字符串。 | 
1979
1980
1981### OH_ArkWebResponse_GetError()
1982
1983```
1984ArkWeb_NetError OH_ArkWebResponse_GetError (const ArkWeb_Response * response)
1985```
1986**描述:**
1987
1988获取ArkWeb_Response的错误码。
1989
1990**系统能力:** SystemCapability.Web.Webview.Core
1991
1992**起始版本:** 12
1993
1994**参数:**
1995
1996| 名称 | 描述 | 
1997| -------- | -------- |
1998| response | ArkWeb_Response。  | 
1999
2000**返回:**
2001
2002ArkWeb_Response的错误码。
2003
2004
2005### OH_ArkWebResponse_GetHeaderByName()
2006
2007```
2008void OH_ArkWebResponse_GetHeaderByName (const ArkWeb_Response * response, const char * name, char ** value )
2009```
2010**描述:**
2011
2012从ArkWeb_Response中获取header。
2013
2014**系统能力:** SystemCapability.Web.Webview.Core
2015
2016**起始版本:** 12
2017
2018**参数:**
2019
2020| 名称 | 描述 | 
2021| -------- | -------- |
2022| response | ArkWeb_Response。  | 
2023| name | header的名称。  | 
2024| value | 返回header的值。此函数将为value字符串分配内存,调用方必须通过OH_ArkWeb_ReleaseString释放该字符串。 | 
2025
2026
2027### OH_ArkWebResponse_GetMimeType()
2028
2029```
2030void OH_ArkWebResponse_GetMimeType (const ArkWeb_Response * response, char ** mimeType )
2031```
2032**描述:**
2033
2034获取ArkWeb_Response的媒体类型。
2035
2036**系统能力:** SystemCapability.Web.Webview.Core
2037
2038**起始版本:** 12
2039
2040**参数:**
2041
2042| 名称 | 描述 | 
2043| -------- | -------- |
2044| response | ArkWeb_Response。  | 
2045| mimeType | 返回ArkWeb_Response的媒体类型。此函数将为mimeType字符串分配内存,调用方必须通过OH_ArkWeb_ReleaseString释放该字符串。 | 
2046
2047
2048### OH_ArkWebResponse_GetStatus()
2049
2050```
2051int OH_ArkWebResponse_GetStatus (const ArkWeb_Response * response)
2052```
2053**描述:**
2054
2055获取ArkWeb_Response的HTTP状态码。
2056
2057**系统能力:** SystemCapability.Web.Webview.Core
2058
2059**起始版本:** 12
2060
2061**参数:**
2062
2063| 名称 | 描述 | 
2064| -------- | -------- |
2065| response | ArkWeb_Response。  | 
2066
2067**返回:**
2068
2069ArkWeb_Response的HTTP状态码。如果ArkWeb_Response无效,则为-1。
2070
2071
2072### OH_ArkWebResponse_GetStatusText()
2073
2074```
2075void OH_ArkWebResponse_GetStatusText (const ArkWeb_Response * response, char ** statusText )
2076```
2077**描述:**
2078
2079获取ArkWeb_Response的状态文本。
2080
2081**系统能力:** SystemCapability.Web.Webview.Core
2082
2083**起始版本:** 12
2084
2085**参数:**
2086
2087| 名称 | 描述 | 
2088| -------- | -------- |
2089| response | ArkWeb_Response。  | 
2090| statusText | 返回ArkWeb_Response的状态文本。此函数将为statusText字符串分配内存,调用方必须通过OH_ArkWeb_ReleaseString释放该字符串。 | 
2091
2092
2093### OH_ArkWebResponse_GetUrl()
2094
2095```
2096void OH_ArkWebResponse_GetUrl (const ArkWeb_Response * response, char ** url )
2097```
2098**描述:**
2099
2100获取经过重定向或由于HSTS而更改后的解析URL。
2101
2102**系统能力:** SystemCapability.Web.Webview.Core
2103
2104**起始版本:** 12
2105
2106**参数:**
2107
2108| 名称 | 描述 | 
2109| -------- | -------- |
2110| response | ArkWeb_Response。  | 
2111| url | 解析后的URL。 | 
2112
2113
2114### OH_ArkWebResponse_SetCharset()
2115
2116```
2117int32_t OH_ArkWebResponse_SetCharset (ArkWeb_Response * response, const char * charset )
2118```
2119**描述:**
2120
2121为ArkWeb_Response设置字符集。
2122
2123**系统能力:** SystemCapability.Web.Webview.Core
2124
2125**起始版本:** 12
2126
2127**参数:**
2128
2129| 名称 | 描述 | 
2130| -------- | -------- |
2131| response | ArkWeb_Response。  | 
2132| charset | 请求的字符集。  | 
2133
2134**返回:**
2135
2136如果返回0,表示成功;返回17100101,表示参数无效。
2137
2138
2139### OH_ArkWebResponse_SetError()
2140
2141```
2142int32_t OH_ArkWebResponse_SetError (ArkWeb_Response * response, ArkWeb_NetError errorCode )
2143```
2144**描述:**
2145
2146给ArkWeb_Response对象设置一个错误码。
2147
2148**系统能力:** SystemCapability.Web.Webview.Core
2149
2150**起始版本:** 12
2151
2152**参数:**
2153
2154| 名称 | 描述 | 
2155| -------- | -------- |
2156| response | ArkWeb_Response。  | 
2157| errorCode | 失败请求的错误码。  | 
2158
2159**返回:**
2160
2161如果返回0,表示成功;返回17100101,表示参数无效。
2162
2163
2164### OH_ArkWebResponse_SetHeaderByName()
2165
2166```
2167int32_t OH_ArkWebResponse_SetHeaderByName (ArkWeb_Response * response, const char * name, const char * value, bool overwrite )
2168```
2169**描述:**
2170
2171为ArkWeb_Response设置一个header。
2172
2173**系统能力:** SystemCapability.Web.Webview.Core
2174
2175**起始版本:** 12
2176
2177**参数:**
2178
2179| 名称 | 描述 | 
2180| -------- | -------- |
2181| response | ArkWeb_Response。  | 
2182| name | header的名称。  | 
2183| value | header的值。  | 
2184| overwirte | 如果为true,将覆盖现有的header,否则不覆盖。  | 
2185
2186**返回:**
2187
2188如果返回0,表示成功;返回17100101,表示参数无效。
2189
2190
2191### OH_ArkWebResponse_SetMimeType()
2192
2193```
2194int32_t OH_ArkWebResponse_SetMimeType (ArkWeb_Response * response, const char * mimeType )
2195```
2196**描述:**
2197
2198为ArkWeb_Response设置媒体类型。
2199
2200**系统能力:** SystemCapability.Web.Webview.Core
2201
2202**起始版本:** 12
2203
2204**参数:**
2205
2206| 名称 | 描述 | 
2207| -------- | -------- |
2208| response | ArkWeb_Response。  | 
2209| mimeType | 请求的媒体类型。  | 
2210
2211**返回:**
2212
2213如果返回0,表示成功;返回17100101,表示参数无效。
2214
2215
2216### OH_ArkWebResponse_SetStatus()
2217
2218```
2219int32_t OH_ArkWebResponse_SetStatus (ArkWeb_Response * response, int status )
2220```
2221**描述:**
2222
2223为ArkWeb_Response对象设置一个HTTP状态码。
2224
2225**系统能力:** SystemCapability.Web.Webview.Core
2226
2227**起始版本:** 12
2228
2229**参数:**
2230
2231| 名称 | 描述 | 
2232| -------- | -------- |
2233| response | ArkWeb_Response。  | 
2234| status | 请求的HTTP状态码。  | 
2235
2236**返回:**
2237
2238如果返回0,表示成功;返回17100101,表示参数无效。
2239
2240
2241### OH_ArkWebResponse_SetStatusText()
2242
2243```
2244int32_t OH_ArkWebResponse_SetStatusText (ArkWeb_Response * response, const char * statusText )
2245```
2246**描述:**
2247
2248为ArkWeb_Response设置状态文本。
2249
2250**系统能力:** SystemCapability.Web.Webview.Core
2251
2252**起始版本:** 12
2253
2254**参数:**
2255
2256| 名称 | 描述 | 
2257| -------- | -------- |
2258| response | ArkWeb_Response。  | 
2259| statusText | 请求的状态文本。  | 
2260
2261**返回:**
2262
2263如果返回0,表示成功;返回17100101,表示参数无效。
2264
2265
2266### OH_ArkWebResponse_SetUrl()
2267
2268```
2269int32_t OH_ArkWebResponse_SetUrl (ArkWeb_Response * response, const char * url )
2270```
2271**描述:**
2272
2273设置经过重定向或由于HSTS而改变后的解析URL,设置后会触发跳转。
2274
2275**系统能力:** SystemCapability.Web.Webview.Core
2276
2277**起始版本:** 12
2278
2279**参数:**
2280
2281| 名称 | 描述 | 
2282| -------- | -------- |
2283| response | ArkWeb_Response。  | 
2284| url | 解析后的URL。  | 
2285
2286**返回:**
2287
2288如果返回0,表示成功;返回17100101,表示参数无效。
2289
2290
2291### OH_ArkWebSchemeHandler_GetUserData()
2292
2293```
2294void* OH_ArkWebSchemeHandler_GetUserData (const ArkWeb_SchemeHandler * schemeHandler)
2295```
2296**描述:**
2297
2298从ArkWeb_SchemeHandler获取用户数据。
2299
2300**系统能力:** SystemCapability.Web.Webview.Core
2301
2302**起始版本:** 12
2303
2304**参数:**
2305
2306| 名称 | 描述 | 
2307| -------- | -------- |
2308| schemeHandler | ArkWeb_SchemeHandler。  | 
2309
2310**返回:**
2311
2312设置的用户数据。
2313
2314
2315### OH_ArkWebSchemeHandler_SetOnRequestStart()
2316
2317```
2318int32_t OH_ArkWebSchemeHandler_SetOnRequestStart (ArkWeb_SchemeHandler * schemeHandler, ArkWeb_OnRequestStart onRequestStart )
2319```
2320**描述:**
2321
2322为SchemeHandler设置OnRequestStart回调。
2323
2324**系统能力:** SystemCapability.Web.Webview.Core
2325
2326**起始版本:** 12
2327
2328**参数:**
2329
2330| 名称 | 描述 | 
2331| -------- | -------- |
2332| schemeHandler | 该scheme的SchemeHandler。  | 
2333| onRequestStart | OnRequestStart回调函数。  | 
2334
2335**返回:**
2336
2337如果返回0,表示成功;返回17100101,表示参数无效。
2338
2339
2340### OH_ArkWebSchemeHandler_SetOnRequestStop()
2341
2342```
2343int32_t OH_ArkWebSchemeHandler_SetOnRequestStop (ArkWeb_SchemeHandler * schemeHandler, ArkWeb_OnRequestStop onRequestStop )
2344```
2345**描述:**
2346
2347为SchemeHandler设置OnRequestStop回调。
2348
2349**系统能力:** SystemCapability.Web.Webview.Core
2350
2351**起始版本:** 12
2352
2353**参数:**
2354
2355| 名称 | 描述 | 
2356| -------- | -------- |
2357| schemeHandler | 该scheme的SchemeHandler。  | 
2358| onRequestStop | OnRequestStop回调函数。  | 
2359
2360**返回:**
2361
2362如果返回0,表示成功;返回17100101,表示参数无效。
2363
2364
2365### OH_ArkWebSchemeHandler_SetUserData()
2366
2367```
2368int32_t OH_ArkWebSchemeHandler_SetUserData (ArkWeb_SchemeHandler * schemeHandler, void * userData )
2369```
2370**描述:**
2371
2372将一个用户数据设置到ArkWeb_SchemeHandler对象中。
2373
2374**系统能力:** SystemCapability.Web.Webview.Core
2375
2376**起始版本:** 12
2377
2378**参数:**
2379
2380| 名称 | 描述 | 
2381| -------- | -------- |
2382| schemeHandler | ArkWeb_SchemeHandler。  | 
2383| userData | 要设置的用户数据。  | 
2384
2385**返回:**
2386
2387如果返回0,表示成功;返回17100101,表示参数无效。
2388
2389
2390### OH_ArkWebServiceWorker_ClearSchemeHandlers()
2391
2392```
2393int32_t OH_ArkWebServiceWorker_ClearSchemeHandlers ()
2394```
2395**描述:**
2396
2397清除为ServiceWorker注册的SchemeHandler。
2398
2399**系统能力:** SystemCapability.Web.Webview.Core
2400
2401**起始版本:** 12
2402
2403**返回:**
2404
2405如果返回0,表示成功。
2406
2407
2408### OH_ArkWebServiceWorker_SetSchemeHandler()
2409
2410```
2411bool OH_ArkWebServiceWorker_SetSchemeHandler (const char * scheme, ArkWeb_SchemeHandler * schemeHandler )
2412```
2413**描述:**
2414
2415为指定scheme设置一个ArkWeb_SchemeHandler以拦截ServiceWorker触发的该scheme类型的请求。
2416
2417应该在创建BrowserContext之后设置SchemeHandler。
2418
2419可以使用WebviewController.initializeWebEngine来初始化BrowserContext而无需创建ArkWeb。
2420
2421**系统能力:** SystemCapability.Web.Webview.Core
2422
2423**起始版本:** 12
2424
2425**参数:**
2426
2427| 名称 | 描述 | 
2428| -------- | -------- |
2429| scheme | 需要被拦截的scheme。  | 
2430| schemeHandler | 该scheme的拦截器ArkWeb_SchemeHandler。只有通过ServiceWorker触发的请求才会通过这个schemeHandler进行通知。  | 
2431
2432**返回:**
2433
2434如果为指定scheme设置SchemeHandler成功,则返回true,否则返回false。
2435
2436
2437### OH_NativeArkWeb_GetDestroyCallback()
2438
2439```
2440NativeArkWeb_OnDestroyCallback OH_NativeArkWeb_GetDestroyCallback (const char * webTag)
2441```
2442**描述:**
2443
2444获取已注册的组件销毁时的回调函数。
2445
2446**系统能力:** SystemCapability.Web.Webview.Core
2447
2448**起始版本:** 11
2449
2450**参数:**
2451
2452| 名称 | 描述 | 
2453| -------- | -------- |
2454| webTag | Web组件的名称。  | 
2455
2456**返回:**
2457
2458return 已注册的组件销毁时的回调函数。
2459
2460
2461### OH_NativeArkWeb_GetJavaScriptProxyValidCallback()
2462
2463```
2464NativeArkWeb_OnValidCallback OH_NativeArkWeb_GetJavaScriptProxyValidCallback (const char * webTag)
2465```
2466**描述:**
2467
2468获取已注册的对象可注册时的回调函数。
2469
2470**系统能力:** SystemCapability.Web.Webview.Core
2471
2472**起始版本:** 11
2473
2474**参数:**
2475
2476| 名称 | 描述 | 
2477| -------- | -------- |
2478| webTag | Web组件的名称。  | 
2479
2480**返回:**
2481
2482return 已注册的对象可注册时的回调函数。
2483
2484
2485### OH_NativeArkWeb_RegisterJavaScriptProxy()
2486
2487```
2488void OH_NativeArkWeb_RegisterJavaScriptProxy (const char * webTag, const char * objName, const char ** methodList, NativeArkWeb_OnJavaScriptProxyCallback * callback, int32_t size, bool needRefresh )
2489```
2490**描述:**
2491
2492注册对象及函数名称列表。
2493
2494**系统能力:** SystemCapability.Web.Webview.Core
2495
2496**起始版本:** 11
2497
2498**参数:**
2499
2500| 名称 | 描述 | 
2501| -------- | -------- |
2502| webTag | Web组件的名称。  | 
2503| objName | 注入对象的名称。  | 
2504| methodList | 注入函数列表的名称。  | 
2505| callback | 注入的回调函数。  | 
2506| size | 注入的回调函数的个数。  | 
2507| needRefresh | 是否需要刷新页面。 | 
2508
2509
2510### OH_NativeArkWeb_RunJavaScript()
2511
2512```
2513void OH_NativeArkWeb_RunJavaScript (const char * webTag, const char * jsCode, NativeArkWeb_OnJavaScriptCallback callback )
2514```
2515**描述:**
2516
2517在当前显示页面的环境下,加载并执行一段JavaScript代码。
2518
2519**系统能力:** SystemCapability.Web.Webview.Core
2520
2521**起始版本:** 11
2522
2523**参数:**
2524
2525| 名称 | 描述 | 
2526| -------- | -------- |
2527| webTag | Web组件的名称。  | 
2528| jsCode | 一段JavaScript的代码脚本。  | 
2529| callback | 代码执行完后通知开发者结果的回调函数。 | 
2530
2531
2532### OH_NativeArkWeb_SetDestroyCallback()
2533
2534```
2535void OH_NativeArkWeb_SetDestroyCallback (const char * webTag, NativeArkWeb_OnDestroyCallback callback )
2536```
2537**描述:**
2538
2539设置组件销毁时的回调函数。
2540
2541**系统能力:** SystemCapability.Web.Webview.Core
2542
2543**起始版本:** 11
2544
2545**参数:**
2546
2547| 名称 | 描述 | 
2548| -------- | -------- |
2549| webTag | Web组件的名称。  | 
2550| callback | 组件销毁时的回调函数。 | 
2551
2552
2553### OH_NativeArkWeb_SetJavaScriptProxyValidCallback()
2554
2555```
2556void OH_NativeArkWeb_SetJavaScriptProxyValidCallback (const char * webTag, NativeArkWeb_OnValidCallback callback )
2557```
2558**描述:**
2559
2560设置对象可注册时的回调函数。
2561
2562**系统能力:** SystemCapability.Web.Webview.Core
2563
2564**起始版本:** 11
2565
2566**参数:**
2567
2568| 名称 | 描述 | 
2569| -------- | -------- |
2570| webTag | Web组件的名称。  | 
2571| callback | 对象可注册时的回调函数。 | 
2572
2573
2574### OH_NativeArkWeb_UnregisterJavaScriptProxy()
2575
2576```
2577void OH_NativeArkWeb_UnregisterJavaScriptProxy (const char * webTag, const char * objName )
2578```
2579**描述:**
2580
2581删除已注册的对象及其下的回调函数。
2582
2583**系统能力:** SystemCapability.Web.Webview.Core
2584
2585**起始版本:** 11
2586
2587**参数:**
2588
2589| 名称 | 描述 | 
2590| -------- | -------- |
2591| webTag | Web组件的名称。  | 
2592| objName | 注入对象的名称。 | 
2593