harmony 鸿蒙Class (WebSchemeHandlerResponse)

  • 2025-06-12
  • 浏览 (4)

Class (WebSchemeHandlerResponse)

请求的响应,可以为被拦截的请求创建一个Response并填充自定义的内容返回给Web组件。

说明:

  • 本模块接口从API version 12开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

  • 示例效果请以真机运行为准,当前IDE预览器不支持。

constructor12+

constructor()

Response的构造函数。

系统能力: SystemCapability.Web.Webview.Core

示例:

// xxx.ets
import { webview } from '@kit.ArkWeb';
import { BusinessError } from '@kit.BasicServicesKit';
import { WebNetErrorList } from '@ohos.web.netErrorList';

@Entry
@Component
struct WebComponent {
  controller: webview.WebviewController = new webview.WebviewController();
  schemeHandler: webview.WebSchemeHandler = new webview.WebSchemeHandler();

  build() {
    Column() {
      Button('response').onClick(() => {
        let response = new webview.WebSchemeHandlerResponse();
        try {
          response.setUrl("http://www.example.com")
          response.setStatus(200)
          response.setStatusText("OK")
          response.setMimeType("text/html")
          response.setEncoding("utf-8")
          response.setHeaderByName("header1", "value1", false)
          response.setNetErrorCode(WebNetErrorList.NET_OK)
          console.log("[schemeHandler] getUrl:" + response.getUrl())
          console.log("[schemeHandler] getStatus:" + response.getStatus())
          console.log("[schemeHandler] getStatusText:" + response.getStatusText())
          console.log("[schemeHandler] getMimeType:" + response.getMimeType())
          console.log("[schemeHandler] getEncoding:" + response.getEncoding())
          console.log("[schemeHandler] getHeaderByValue:" + response.getHeaderByName("header1"))
          console.log("[schemeHandler] getNetErrorCode:" + response.getNetErrorCode())

        } catch (error) {
          console.error(`ErrorCode: ${(error as BusinessError).code},  Message: ${(error as BusinessError).message}`);
        }
      })
      Web({ src: 'https://www.example.com', controller: this.controller })
    }
  }
}

setUrl12+

setUrl(url: string): void

给当前的Response设置重定向或因HSTS而更改后的URL,设置了url后会触发请求的跳转。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
url string 即将要跳转的URL。

示例:

完整示例代码参考constructor

错误码:

以下错误码的详细介绍请参见webview错误码

错误码ID 错误信息
401 Parameter error. Possible causes: 1. Incorrect parameter types.

setNetErrorCode12+

setNetErrorCode(code: WebNetErrorList): void

给当前的Response设置网络错误码。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
code WebNetErrorList 网络错误码。

错误码:

以下错误码的详细介绍请参见webview错误码

错误码ID 错误信息
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.

示例:

完整示例代码参考constructor

setStatus12+

setStatus(code: number): void

给当前的Response设置HTTP状态码。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
code number Http状态码。

错误码:

以下错误码的详细介绍请参见webview错误码

错误码ID 错误信息
401 Parameter error. Possible causes: 1. Incorrect parameter types.

示例:

完整示例代码参考constructor

setStatusText12+

setStatusText(text: string): void

给当前的Response设置状态文本。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
text string 状态文本。

错误码:

以下错误码的详细介绍请参见webview错误码

错误码ID 错误信息
401 Parameter error. Possible causes: 1. Incorrect parameter types.

示例:

完整示例代码参考constructor

setMimeType12+

setMimeType(type: string): void

给当前的Response设置媒体类型。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
type string 媒体类型。

错误码:

以下错误码的详细介绍请参见webview错误码

错误码ID 错误信息
401 Parameter error. Possible causes: 1. Incorrect parameter types.

示例:

完整示例代码参考constructor

setEncoding12+

setEncoding(encoding: string): void

给当前的Response设置字符集。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
encoding string 字符集。

错误码:

以下错误码的详细介绍请参见webview错误码

错误码ID 错误信息
401 Parameter error. Possible causes: 1. Incorrect parameter types.

示例:

完整示例代码参考constructor

setHeaderByName12+

setHeaderByName(name: string, value: string, overwrite: boolean): void

给当前的Response设置头信息。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
name string 头部(header)的名称。
value string 头部(header)的值。
overwrite boolean 如果为true,将覆盖现有的头部,否则不覆盖。

错误码:

以下错误码的详细介绍请参见webview错误码

错误码ID 错误信息
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.

示例:

完整示例代码参考constructor

getUrl12+

getUrl(): string

获取重定向或由于HSTS而更改后的URL。 风险提示:如果想获取url来做JavascriptProxy通信接口认证,请使用getLastJavascriptProxyCallingFrameUrl12+

系统能力: SystemCapability.Web.Webview.Core

返回值:

类型 说明
string 获取经过重定向或由于HSTS而更改后的URL。

示例:

完整示例代码参考constructor

getNetErrorCode12+

getNetErrorCode(): WebNetErrorList

获取Response的网络错误码。

系统能力: SystemCapability.Web.Webview.Core

返回值:

类型 说明
WebNetErrorList 获取Response的网络错误码。

示例:

完整示例代码参考constructor

getStatus12+

getStatus(): number

获取Response的Http状态码。

系统能力: SystemCapability.Web.Webview.Core

返回值:

类型 说明
number 获取Response的Http状态码。

示例:

完整示例代码参考constructor

getStatusText12+

getStatusText(): string

获取Response的状态文本。

系统能力: SystemCapability.Web.Webview.Core

返回值:

类型 说明
string 状态文本。

示例:

完整示例代码参考constructor

getMimeType12+

getMimeType(): string

获取Response的媒体类型。

系统能力: SystemCapability.Web.Webview.Core

返回值:

类型 说明
string 媒体类型。

示例:

完整示例代码参考constructor

getEncoding12+

getEncoding(): string

获取Response的字符集。

系统能力: SystemCapability.Web.Webview.Core

返回值:

类型 说明
string 字符集。

示例:

完整示例代码参考constructor

getHeaderByName12+

getHeaderByName(name: string): string

获取Response的字符集。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
name string 头部(header)的名称。

返回值:

类型 说明
string 头部(header)的值。

示例:

完整示例代码参考constructor

你可能感兴趣的鸿蒙文章

harmony 鸿蒙ArkWeb(方舟Web)

harmony 鸿蒙ArkWeb_AnyNativeAPI

harmony 鸿蒙ArkWeb_ComponentAPI

harmony 鸿蒙ArkWeb_ControllerAPI

harmony 鸿蒙ArkWeb_CookieManagerAPI

harmony 鸿蒙ArkWeb_JavaScriptBridgeData

harmony 鸿蒙ArkWeb_JavaScriptObject

harmony 鸿蒙ArkWeb_JavaScriptValueAPI

harmony 鸿蒙ArkWeb_ProxyMethod

harmony 鸿蒙ArkWeb_ProxyMethodWithResult

0  赞