From 3ac724db69d7ffedbd9c25fa00dcb00e51ca3080 Mon Sep 17 00:00:00 2001 From: liugang9704 <2745340733@qq.com> Date: Fri, 19 Sep 2025 10:58:19 +0800 Subject: [PATCH 1/2] =?UTF-8?q?update:=20=E6=B7=BB=E5=8A=A0try/catch?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=8D=95=E8=8E=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/pages/BaseRequest.ets | 53 ++++---- entry/src/main/ets/pages/DNSSetting.ets | 136 ++++++++++++--------- entry/src/main/ets/pages/MultipartForm.ets | 36 +++--- entry/src/main/ets/pages/TracingPoint.ets | 24 ++-- 4 files changed, 144 insertions(+), 105 deletions(-) diff --git a/entry/src/main/ets/pages/BaseRequest.ets b/entry/src/main/ets/pages/BaseRequest.ets index 1cebab2..a5461ae 100644 --- a/entry/src/main/ets/pages/BaseRequest.ets +++ b/entry/src/main/ets/pages/BaseRequest.ets @@ -18,6 +18,7 @@ import { rcp } from '@kit.RemoteCommunicationKit'; import { url } from '@kit.ArkTS'; import Logger from '../common/Logger'; import { CommonConstants } from '../common/CommonConstants'; +import { hilog } from '@kit.PerformanceAnalysisKit'; interface UserInfo { userName: string; @@ -51,18 +52,23 @@ export struct BaseRequest { } }; // Create the communication session object session - const session = rcp.createSession({ requestConfiguration: { security: securityConfig } }); - // Define the request object rep - let req = new rcp.Request('http://example.com/fetch', 'PATCH', headers, modifiedContent); - // Initiate a request - session.fetch(req).then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - // [End session_fetch] - this.patchHeaders = JSON.stringify(req, null, 2); - AppStorage.setOrCreate('PatchHeaders', this.patchHeaders); + try { + const session = rcp.createSession({ requestConfiguration: { security: securityConfig } }); + // Define the request object rep + let req = new rcp.Request('http://example.com/fetch', 'PATCH', headers, modifiedContent); + // Initiate a request + session.fetch(req).then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + // [End session_fetch] + this.patchHeaders = JSON.stringify(req, null, 2); + AppStorage.setOrCreate('PatchHeaders', this.patchHeaders); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'BaseRequest', `createSession failed. code=${err.code}, message=${err.message}`); + } } setBaseAddress() { @@ -83,16 +89,21 @@ export struct BaseRequest { } }; // Create the communication session object session and input sessionConfig - const session = rcp.createSession(sessionConfig); + try { + const session = rcp.createSession(sessionConfig); + let req = new rcp.Request('http://example.com', 'GET'); + session.fetch(req).then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + this.baseAddress = sessionConfig.baseAddress; + AppStorage.setOrCreate('BaseAddress', this.baseAddress); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'BaseRequest', `createSession failed. code=${err.code}, message=${err.message}`); + } // [End session_config] - let req = new rcp.Request('http://example.com', 'GET'); - session.fetch(req).then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - this.baseAddress = sessionConfig.baseAddress; - AppStorage.setOrCreate('BaseAddress', this.baseAddress); } build() { diff --git a/entry/src/main/ets/pages/DNSSetting.ets b/entry/src/main/ets/pages/DNSSetting.ets index b3763d6..2b5f965 100644 --- a/entry/src/main/ets/pages/DNSSetting.ets +++ b/entry/src/main/ets/pages/DNSSetting.ets @@ -17,6 +17,7 @@ import { BusinessError } from '@kit.BasicServicesKit'; import { rcp } from '@kit.RemoteCommunicationKit'; import Logger from '../common/Logger'; import { CommonConstants } from '../common/CommonConstants'; +import { hilog } from '@kit.PerformanceAnalysisKit'; @Builder export function DNSSettingBuilder() { @@ -42,28 +43,33 @@ export struct DNSSetting { { ip: '8.8.4.4', port: 53 } ]; // Creating a Communication Session Object - const sessionWithCustomDns = rcp.createSession({ - requestConfiguration: { - dns: { - dnsRules: customDnsServers - }, - security: { - tlsOptions: { - tlsVersion: 'TlsV1.3' + try { + const sessionWithCustomDns = rcp.createSession({ + requestConfiguration: { + dns: { + dnsRules: customDnsServers + }, + security: { + tlsOptions: { + tlsVersion: 'TlsV1.3' + } } } - } - }); - // Initiate a request - sessionWithCustomDns.get('http://www.example.com').then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - // [End session_with_custom_dns] - this.customizingDNS = JSON.stringify(customDnsServers, null, 2); - this.textArea = this.customizingDNS; - AppStorage.setOrCreate('CustomizingDNS', this.customizingDNS); + }); + // Initiate a request + sessionWithCustomDns.get('http://www.example.com').then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + // [End session_with_custom_dns] + this.customizingDNS = JSON.stringify(customDnsServers, null, 2); + this.textArea = this.customizingDNS; + AppStorage.setOrCreate('CustomizingDNS', this.customizingDNS); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'DNSSetting', `createSession failed. code=${err.code}, message=${err.message}`); + } } setStaticDnsRules() { @@ -77,28 +83,33 @@ export struct DNSSetting { } ]; // Creating a Communication Session Object - const sessionWithCustomDns = rcp.createSession({ - requestConfiguration: { - dns: { - dnsRules: staticDnsRules - }, - security: { - tlsOptions: { - tlsVersion: 'TlsV1.3' + try { + const sessionWithCustomDns = rcp.createSession({ + requestConfiguration: { + dns: { + dnsRules: staticDnsRules + }, + security: { + tlsOptions: { + tlsVersion: 'TlsV1.3' + } } } - } - }); - // Initiate a request - sessionWithCustomDns.get('http://www.example.com').then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - // [End custom_static_dns] - this.staticDNS = JSON.stringify(staticDnsRules, null, 2); - this.textArea = this.staticDNS; - AppStorage.setOrCreate('StaticDNS', this.staticDNS); + }); + // Initiate a request + sessionWithCustomDns.get('http://www.example.com').then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + // [End custom_static_dns] + this.staticDNS = JSON.stringify(staticDnsRules, null, 2); + this.textArea = this.staticDNS; + AppStorage.setOrCreate('StaticDNS', this.staticDNS); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'DNSSetting', `createSession failed. code=${err.code}, message=${err.message}`); + } } setDnsOverHttps() { @@ -109,28 +120,33 @@ export struct DNSSetting { skipCertificatesValidation: true }; // Creating a Communication Session Object - const sessionWithCustomDns = rcp.createSession({ - requestConfiguration: { - dns: { - dnsOverHttps: dohConfig - }, - security: { - tlsOptions: { - tlsVersion: 'TlsV1.3' + try { + const sessionWithCustomDns = rcp.createSession({ + requestConfiguration: { + dns: { + dnsOverHttps: dohConfig + }, + security: { + tlsOptions: { + tlsVersion: 'TlsV1.3' + } } } - } - }); - // Initiate a request - sessionWithCustomDns.get('http://www.example.com').then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - // [End config_dns_on_https] - this.dnsOverHttp = JSON.stringify(dohConfig, null, 2); - this.textArea = this.dnsOverHttp; - AppStorage.setOrCreate('DnsOverHttp', this.dnsOverHttp); + }); + // Initiate a request + sessionWithCustomDns.get('http://www.example.com').then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + // [End config_dns_on_https] + this.dnsOverHttp = JSON.stringify(dohConfig, null, 2); + this.textArea = this.dnsOverHttp; + AppStorage.setOrCreate('DnsOverHttp', this.dnsOverHttp); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'DNSSetting', `createSession failed. code=${err.code}, message=${err.message}`); + } } build() { diff --git a/entry/src/main/ets/pages/MultipartForm.ets b/entry/src/main/ets/pages/MultipartForm.ets index 979c597..e03780c 100644 --- a/entry/src/main/ets/pages/MultipartForm.ets +++ b/entry/src/main/ets/pages/MultipartForm.ets @@ -19,6 +19,7 @@ import Logger from '../common/Logger'; import { CommonConstants } from '../common/CommonConstants'; import { SegmentButtonOptions } from '@kit.ArkUI'; import { ItemRestriction, SegmentButton, SegmentButtonTextItem } from '@ohos.arkui.advanced.SegmentButton'; +import { hilog } from '@kit.PerformanceAnalysisKit'; @Builder export function MultipartFormBuilder() { @@ -98,21 +99,26 @@ export struct MultipartForm { } }; // Create a communication session object session - const session = rcp.createSession({ requestConfiguration: { security: securityConfig } }); - // Define the request object req - let req = - new rcp.Request('https://www.example.com', 'POST', headers, multiForm, cookies, transferRange, configuration); - req.content = multiForm; - - // Initiate a request - session.fetch(req).then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - // [End upload_form] - this.multipartFormHeaders = JSON.stringify(multiForm, null, 2); - AppStorage.setOrCreate('MultipartFormHeaders', this.multipartFormHeaders); + try { + const session = rcp.createSession({ requestConfiguration: { security: securityConfig } }); + // Define the request object req + let req = + new rcp.Request('https://www.example.com', 'POST', headers, multiForm, cookies, transferRange, configuration); + req.content = multiForm; + + // Initiate a request + session.fetch(req).then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + // [End upload_form] + this.multipartFormHeaders = JSON.stringify(multiForm, null, 2); + AppStorage.setOrCreate('MultipartFormHeaders', this.multipartFormHeaders); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'MultipartForm', `createSession failed. code=${err.code}, message=${err.message}`); + } } build() { diff --git a/entry/src/main/ets/pages/TracingPoint.ets b/entry/src/main/ets/pages/TracingPoint.ets index 7bbfb8d..2b0d93a 100644 --- a/entry/src/main/ets/pages/TracingPoint.ets +++ b/entry/src/main/ets/pages/TracingPoint.ets @@ -17,6 +17,7 @@ import { BusinessError } from '@kit.BasicServicesKit'; import { rcp } from '@kit.RemoteCommunicationKit'; import Logger from '../common/Logger'; import { CommonConstants } from '../common/CommonConstants'; +import { hilog } from '@kit.PerformanceAnalysisKit'; @Builder export function TracingPointBuilder() { @@ -65,15 +66,20 @@ export struct TracingPoint { } }; // Use the configuration in the session creation - const session = rcp.createSession({ requestConfiguration: { tracing: tracingConfig, security: securityConfig } }); - session.get('http://developer.huawei.com').then((response) => { - Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); - }).catch((err: BusinessError) => { - Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); - }); - // [End custom_http_events_handler] - this.detailInfo = JSON.stringify(tracingConfig, null, 2); - AppStorage.setOrCreate('TracingPoint', this.detailInfo); + try { + const session = rcp.createSession({ requestConfiguration: { tracing: tracingConfig, security: securityConfig } }); + session.get('http://developer.huawei.com').then((response) => { + Logger.info(`Request succeeded, message is ${JSON.stringify(response)}`); + }).catch((err: BusinessError) => { + Logger.error(`err: err code is ${err.code}, err message is ${JSON.stringify(err)}`); + }); + // [End custom_http_events_handler] + this.detailInfo = JSON.stringify(tracingConfig, null, 2); + AppStorage.setOrCreate('TracingPoint', this.detailInfo); + } catch (error) { + let err = error as BusinessError; + hilog.error(0x0000, 'TracingPoint', `createSession failed. code=${err.code}, message=${err.message}`); + } } build() { -- Gitee From c4b5dc9354a4b8a2d0376772d1efa0334adb7f29 Mon Sep 17 00:00:00 2001 From: liugang9704 <2745340733@qq.com> Date: Fri, 19 Sep 2025 16:15:05 +0800 Subject: [PATCH 2/2] =?UTF-8?q?update:=20=E4=BF=AE=E6=94=B9README=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3096c99..6af6ce6 100644 --- a/README.md +++ b/README.md @@ -33,9 +33,8 @@ RCP指的是远程通信平台(remote communication platform),RCP提供网 │ | ├──MultipartForm.ets // 多表单提交 │ | ├──RequestAndResponse.ets // 请求与响应拦截示例 │ | └──TracingPoint.ets // 捕获有关HTTP请求/响应流的详细信息 -| └──utils.ets -│ ├──Interceptors.ets // 请求与响应拦截 -│ └──NetworkStateSimulator.ets // 模拟慢速网络 +| └──utils.ets +│ └──Interceptors.ets // 请求与响应拦截 └──entry/src/main/resources // 应用资源目录 ``` ## 相关权限 -- Gitee