Xamarin Forms - доступ к CookieStore из WebView - PullRequest
0 голосов
/ 14 июля 2020

Я создаю страницу входа на веб-сайт и хочу использовать файлы cookie, полученные с этого сайта, для автоматического выполнения действий.

Итак, я следил за этой статьей, чтобы получить доступ к файлам cookie из на данном веб-сайте,

Изучив пакеты между моим устройством и сервером, я получил этот самый SetCook ie:

Set-Cookie: AppCookie=COOKIEVALUE; expires=Tue, 13 Jul 2021 21:35:00 GMT; path=/; secure; samesite=lax; httponly

Хотя после получения файлов cookie для сайта я не достать этого повара ie

Кто-нибудь может придумать причину этого?

Заранее спасибо.

1 Ответ

0 голосов
/ 15 июля 2020

Вы можете использовать настраиваемое средство визуализации для получения файлов cookie.

Вкл. Android:

var cookieHeader = CookieManager.Instance.GetCookie(url);

enter image description here

You could download the source file from the GitHub: https://github.com/WendyZang/CookiesWebView

Вкл iOS:

[assembly: ExportRenderer(typeof(WebView), typeof(CustomWebViewRenderer))]
namespace Sample.iOS
{
public class CustomWebViewRenderer : WkWebViewRenderer
{
    protected override void OnElementChanged(VisualElementChangedEventArgs e)
    {
        base.OnElementChanged(e);

        if (e.NewElement != null)
        {
            NavigationDelegate = new CustomNavigationDelegate();
        } 
    }
}

public class CustomNavigationDelegate : WKNavigationDelegate
{
    public override void DidFinishNavigation(WKWebView webView, WKNavigation navigation)
    {
        webView.Configuration.WebsiteDataStore.HttpCookieStore.GetAllCookies((cookies) =>
        {

        });
    }
 }
}
...