1# ArkWeb子系统变更说明 2 3## cl.arkweb.1 网络拦截支持获取POST请求post data相关接口变更。 4 5**访问级别** 6 7公开接口 8 9**变更原因** 10 11新增支持PUT请求的 request body。两种请求可以归一,删除原获取POST请求的post data的接口簇(*PostDataStream*),使用新的接口簇替代(*HttpBodyStream*)。 12 13**变更影响** 14 15该变更为非兼容性变更,需要使用新的接口替代。 16 17**API Level** 18 1912 20 21**变更发生版本** 22 23从OpenHarmony SDK 5.0.0.13开始。 24 25**变更的接口/组件** 26 27 28| 删除接口 | 替代接口 | 描述 | 29| -------------- | ---------------- | -------------------- | 30| ArkWeb_PostDataStream | ArkWeb_HttpBodyStream | 类型定义。 | 31| OH_ArkWebResourceRequest_GetPostData | OH_ArkWebResourceRequest_GetHttpBodyStream | 获取POST、PUT请求的上传数据,该接口需要在IO线程使用。 | 32| OH_ArkWebResourceRequest_DestroyPostData | OH_ArkWebResourceRequest_DestroyHttpBodyStream | 销毁ArkWeb_HttpBodyStream对象。 | 33| OH_ArkWebPostDataStream_SetReadCallback | OH_ArkWebHttpBodyStream_SetReadCallback | 为 OH_ArkWebHttpBodyStream_Read 设置回调函数,OH_ArkWebHttpBodyStream_Read 的结果将通过 readCallback 通知给调用者。该回调函数将在与OH_ArkWebHttpBodyStream_Read 相同的线程中运行。 | 34| ArkWeb_PostDataStreamInitCallback | ArkWeb_HttpBodyStreamInitCallback | ArkWeb_HttpBodyStream初始化操作完成时的回调。 | 35| OH_ArkWebPostDataStream_SetUserData | OH_ArkWebHttpBodyStream_SetUserData | 将一个用户数据设置到ArkWeb_HttpBodyStream对象中。 | 36| OH_ArkWebPostDataStream_GetUserData | OH_ArkWebHttpBodyStream_GetUserData | 从ArkWeb_HttpBodyStream获取用户数据。 | 37| OH_ArkWebPostDataStream_Init | OH_ArkWebHttpBodyStream_Init | 初始化ArkWeb_HttpBodyStream。在调用任何其他函数之前,必须调用此函数。该接口需要在IO线程调用。 | 38| OH_ArkWebPostDataStream_Read | OH_ArkWebHttpBodyStream_Read | 将数据读取到缓冲区。缓冲区的大小必须大于bufLen。我们将从工作线程读取数据到缓冲区,因此在回调函数返回之前,不应在其他线程中使用缓冲区,以避免并发问题。 | 39| OH_ArkWebPostDataStream_GetSize | OH_ArkWebHttpBodyStream_GetSize | 获取ArkWeb_HttpBodyStream的大小,分块传输时总是返回零。 | 40| OH_ArkWebPostDataStream_GetPosition | OH_ArkWebHttpBodyStream_GetPosition | 获取ArkWeb_HttpBodyStream当前的读取位置。 | 41| OH_ArkWebPostDataStream_IsChunked | OH_ArkWebHttpBodyStream_IsChunked | 获取ArkWeb_HttpBodyStream是否采用分块传输。 | 42| OH_ArkWebPostDataStream_IsEof | OH_ArkWebHttpBodyStream_IsEof | 判断ArkWeb_HttpBodyStream中的所有数据是否都已被读取。 | 43| OH_ArkWebPostDataStream_IsInMemory | OH_ArkWebHttpBodyStream_IsInMemory | 判断ArkWeb_HttpBodyStream中的数据是否在内存中。 | 44 45**适配指导** 46 47请查阅[ArkWeb网络拦截](../../../application-dev/reference/apis-arkweb/arkweb_scheme_handler.md)文档进行适配。 48