Я получаю файлы cookie со страницы входа на веб-сайт, используя веб-просмотр с трепетом внутри моего виджета с отслеживанием состояния.Таким образом, после того, как пользователь войдет в систему и URL-адреса изменятся, будут получены файлы cookie.Сейчас я не могу получить куки, когда мое приложение находится в iOS.По умолчанию в Android запускается chrome webview, а в iOS, я думаю, запускается wkwebview или safari webview.
Я использую плагин flutter inappbrowser, в который встроен менеджер файлов cookie. Я попытался изменить пользовательский агент, но проблема все еще та же.
Плагин:
https://pub.dartlang.org/packages/flutter_inappbrowser
Я использую те же коды и могу получать файлы cookie в Android, но не в iOS
import 'package:flutter_inappbrowser/flutter_inappbrowser.dart';
MyInAppBrowser inAppBrowser = new MyInAppBrowser();
class MainScreen extends State<MainScreen> {
@override
void initState() {
_openWebView();
}
_openWebView() async{
await inAppBrowser.open(url: "https://*****some
website*****/logon.php", options: {
"javaScriptEnabled":true,
"clearCache":true,
"useShouldOverrideUrlLoading": true,
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77",
});
}
}
class MyInAppBrowser extends InAppBrowser {
@override
void onBrowserCreated() async {
print("\n\nBrowser Ready!\n\n");
}
@override
void onLoadStart(String url) async {
CookieManager.getCookies(url).then((val) {
debugPrint("COOKIEMANAGER: " + val.toString());
});
}
@override
void shouldOverrideUrlLoading(String url) {
CookieManager.getCookies(url).then((val) {
debugPrint("COOKIEMANAGER: " + val.toString());
});
}
@override
void onLoadError(String url, int code, String message) {
print("\n\nCan't load $url.. Error: $message\n\n");
}
@override
void onExit() {
print("\n\nBrowser closed!\n\n");
}
}
Я должен иметь возможность получать информацию о файлах cookie, такую как идентификатор пользователя, сессионный хэш и т. Д.который показан на Android