我使用以下代码在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。我觉得这不是解决这个问题的好办法。因为它消耗了不需要的数据和电池使用情况。
所以请任何人帮我找一个解决方法来解决这个问题。
答案 0 :(得分:0)
您已经使用DispatchTimer做了正确的事情。我不知道为什么你觉得它不正确,特别是因为你已经通过在网页浏览中托管网站来攻击网站了。