如何在WinRT WebView中保持会话活动

时间:2015-03-23 16:55:06

标签: javascript windows-8 webview windows-runtime httpclient

我使用以下代码在WinRT中 HttpClient和WebView 之间共享cookie

var pageUri = new Uri(TargetPage);

var filter = new Windows.Web.Http.Filters.HttpBaseProtocolFilter();
var cookie = new Windows.Web.Http.HttpCookie("key", pageUri.Host,    pageUri.LocalPath);
cookie.Value = "value";
filter.CookieManager.SetCookie(cookie, false);

  var request = new  Windows.Web.Http.HttpRequestMessage(Windows.Web.Http.HttpMethod.Post, loginUri);
  webView.NavigateWithHttpRequestMessage(request);

我正在使用此代码绕过Web浏览器中的登录请求。但问题是在5分钟之后,cookie变为到期,并再次要求凭证继续进行。所以我怀疑是,

是否有任何调整可以使此浏览器使用Cookie / Session 生效。可能就像将一些Java Script代码注入浏览器或类似的东西。

我目前正在发送 WebRequest ,使用 DispatureTimer 再次进行身份验证,间隔为 5分钟,并一次又一次刷新Cookie。我觉得这不是解决这个问题的好办法。因为它消耗了不需要的数据和电池使用情况。

所以请任何人帮我找一个解决方法来解决这个问题。

1 个答案:

答案 0 :(得分:0)

您已经使用DispatchTimer做了正确的事情。我不知道为什么你觉得它不正确,特别是因为你已经通过在网页浏览中托管网站来攻击网站了。