Получить форму сообщения тела ответа в WKWebView DecidePolicy - PullRequest
0 голосов
/ 13 сентября 2018

Я использую Xamarin.iOS для разработки приложения для iOS и внедрил DecidePolicy WKNavigationDelegate, если мое веб-представление выглядит следующим образом:

        public override void DecidePolicy(WKWebView webView, WKNavigationResponse navigationResponse, Action<WKNavigationResponsePolicy> decisionHandler)
    {
        if (webView.Url.AbsoluteString == @"www.myurl.com")
        {
            var response = navigationResponse.Response as NSHttpUrlResponse;
            System.Diagnostics.Debug.WriteLine(response.ToString());

        }
        decisionHandler?.Invoke(WKNavigationResponsePolicy.Allow);
    }

На этой странице есть кнопка, которая при нажатии вызывает форму "POST". Это, в свою очередь, отправляет форму и возвращает HTTP-статус 200 вместе с только скрытыми элементами в теле формы ответа. Я хочу получить эти скрытые элементы для дальнейшей обработки в моем приложении.

Моя проблема состоит из двух частей:

  1. Объект ответа выше содержит только заголовки ответов, и мне нужно получить тело ответа
  2. На самом деле я не знаю при использовании переопределенного DecidePolicy (..) сверху, была ли форма отправлена ​​на этот URL? Я могу добиться этого, используя другой DecidePolicy:

    public override void DecidePolicy(WKWebView webView, WKNavigationAction navigationAction, Action<WKNavigationActionPolicy>decisionHandler) 
    {
        if (navigationAction.NavigationType == WKNavigationType.FormSubmitted)
        {
            //perform logic
        } 
    }
    

Но тогда я не знаю, как извлечь тело ответа из этого варианта метода. Ваша помощь очень ценится.

...