在远场通信框架中,ProxyConfiguration配置会话代理设置,提供system、no-proxy和WebProxy三种选项。
system使用系统代理,适合快速部署;
no-proxy不使用代理,适用于需直接访问特定资源或有代理限制的环境;
WebProxy允许开发者自定义代理设置,解决特定网络问题,优化代理路径,提升性能和用户体验。
导入需要的模块。
import { rcp } from '@kit.RemoteCommunicationKit';
import { BusinessError } from '@kit.BasicServicesKit'; 创建一个新的会话对象和请求,会话用于管理后续的网络请求。
const session = rcp.createSession(); // 定义请求的URL(请根据实际需求调整) const requestURL = 'https://example.com';
定义发起请求时需要的代理配置,在定义proxyConfiguration时选择'no-proxy'即可将代理方式选择为不使用代理方式。
// 配置请求的proxy方式为'no-proxy'
const configuration: rcp.Configuration = {
proxy: 'no-proxy'
}
// 定义request并将请求configuration添加到request中
const request = new rcp.Request(requestURL, 'GET');
request.configuration = configuration; 利用fetch发起网络请求并在成功或失败时进行响应的处理,此处只给出示例,对成功或失败的处理请根据实际业务来实现。
session.fetch(request).then((response: rcp.Response) => {
// 处理请求成功响应
console.info(`Response success, ${response}`);
// ...
// 关闭会话
session.close();
}).catch((err: BusinessError) => {
// 处理请求失败响应
console.error(`The error code is ${err.code}, error data is ${err.data}`);
// ...
// 关闭会话
session.close();
}) 导入需要的模块。
import { rcp } from '@kit.RemoteCommunicationKit';
import { BusinessError } from '@kit.BasicServicesKit'; 创建一个新的会话对象和请求,会话用于管理后续的网络请求。
const session = rcp.createSession(); // 定义请求的URL(请根据实际需求调整) const requestURL = 'https://example.com';
定义发起请求时需要的代理配置,在定义proxyConfiguration时选择'system'即可将代理方式选择为使用系统代理方式。
// 配置请求的proxy方式为'system'
const configuration: rcp.Configuration = {
proxy: 'system'
}
// 定义request并将请求configuration添加到request中
const request = new rcp.Request(requestURL, 'GET');
request.configuration = configuration; 利用fetch发起网络请求并在成功或失败时进行响应的处理,此处只给出示例,对成功或失败的处理请根据实际业务来实现。
session.fetch(request).then((response: rcp.Response) => {
// 处理请求成功响应
console.info(`Response success, ${response}`);
// ...
// 关闭会话
session.close();
}).catch((err: BusinessError) => {
// 处理请求失败响应
console.error(`The error code is ${err.code}, error data is ${err.data}`);
// ...
// 关闭会话
session.close();
}) 导入需要的模块。
import { rcp } from '@kit.RemoteCommunicationKit';
import { BusinessError } from '@kit.BasicServicesKit'; 创建一个新的会话对象和请求,会话用于管理后续的网络请求。
const session = rcp.createSession(); // 定义请求的URL(请根据实际需求调整) const requestURL = 'https://example.com';
通过WebProxy自定义代理配置,通过声明式方式。
// 自定义proxy(请根据实际需求调整)
const configuration: rcp.Configuration = {
proxy: {
url: 'https://www.example.com',
createTunnel: 'always'
}
}
// 定义request并将请求configuration添加到request中
const request = new rcp.Request(requestURL, 'GET');
request.configuration = configuration; 利用fetch发起网络请求并在成功或失败时进行响应的处理,此处只给出示例,对成功或失败的处理请根据实际业务来实现。
session.fetch(request).then((response: rcp.Response) => {
// 处理请求成功响应
console.info(`Response success, ${response}`);
// ...
// 关闭会话
session.close();
}).catch((err: BusinessError) => {
// 处理请求失败响应
console.error(`The error code is ${err.code}, error data is ${err.data}`);
// ...
// 关闭会话
session.close();
})