我正在使用有状态窗口小部件内的flutter webview从网站的登录页面获取cookie。因此,在用户登录后,URL更改后,将提取cookie。现在,当我的应用程序在iOS中时,我无法提取Cookie。我认为,在android中,默认情况下会启动chrome webview,而在iOS中会启动wkwebview或safari webview。
我使用的是内置有Cookie管理器的flutter inappbrowser插件。我尝试更改用户代理,但仍然遇到同样的问题。
插件:
https://pub.dartlang.org/packages/flutter_inappbrowser
我使用相同的代码,我可以在Android中获取Cookie,但不能在iOS中获取
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
<form>
Price:<br>
<input type="number"
name="price"
id="price"
class="form-control"
min="0"
required />
</form>
</body>
我应该能够获取Cookie信息,例如在Android上显示的userid,sessionhash等
答案 0 :(得分:0)
您正在使用的插件(flutter_inappbrowser)似乎已过时,并且已停产。我建议使用webview_flutter
,因为它支持此功能,并且最近才退出开发人员预览。
要使用webview_flutter
获取Cookie,可以调用WebViewController.evaluateJavascript('document.cookie');
。方法evaluateJavascript
用于评估页面的JavaScript表达式'document.cookie'并返回String值。您可以检查sample in this page进行尝试。