调用登录接口时我把请求头的set-cookie数据保存到webview.WebCookieManager中,登录成功以后,再请求数据时先从webview.WebCookieManager读取cookie,然后放在header中再发起请求,这样服务端就可以确认当前用户的身份。
我遇到的问题:
按上面操作后我发现web页面空白了,调试后发现只要调用webview.WebCookieManager.fetchCookieSync,页面就会空白,不调用就不会空白。
使用hdc接口转发到电脑端浏览器后发现自定义协议没有拦截到
//我是如何保存cookie的:
try {
setCookies.forEach((cookie) => webview.WebCookieManager.configCookieSync(url, cookie, false));
} catch (error) {
Logger.error(`ErrorCode: ${(error as BusinessError).code}, Message: ${(error as BusinessError).message}`);
}
//我是如何读取cookie的:
try {
const cookieStr = webview.WebCookieManager.fetchCookieSync(url, false)
return cookieStr;
} catch (error) {
return '';
}
需要设置允许发送和接受cookie WebView.WebCookieManager.putAcceptCookieEnabled(true);