我有一个重定向到另一个的链接。目标链接是视频的链接。
问题是我无法获取目标链接,因为WebBrowser
没有重定向到它。当我使用IE9和我的初始链接时,它会将我重定向到所需的链接,但是当我使用WebBrowser
控件时,使用相同的初始链接,它什么都不做。我怎样才能启用它?
(即WebBrowser
的isScriptEnabled为true)。
我使用的网络服务是用户代理敏感的(它为不同的设备提供视频)但不是非浏览器使用的意思,所以这可能是问题。
因为HttpWebRequest
和WebClient
不呈现页面(所以我无法重定向到我想要的页面),我需要使用webBrowser
。解析该请求的响应不是解决方案(响应中没有可用的数据,因此我可以获得重定向链接)
答案 0 :(得分:2)
我已经看到网络浏览器控件在某些情况下无法重定向。我所做的只是自己查找元标记,然后手动重定向到页面。它绝不是漂亮的,但它有效
答案 1 :(得分:0)
最近在通过嵌入式webcontrol实现facebook注册逻辑时遇到了同样的问题。我的解决方案是再次重定向到同一页面,代码
void browser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
// TODO FIX HACK
// sometimes web browser does not redirect to callback url during facebook authentication
// so we refresh the page
if (e.Uri.ToString().StartsWith(@"https://www.facebook.com/dialog/permissions.request") &&
browser.SaveToString().Contains("window.location.href=\"http:\\/\\/www.facebook.com\\/connect\\/login_success.html"))
{
browser.Navigate(e.Uri);
}
}