0

Мне нужно загрузить веб-страницу, но мне нужны переадресации для работы (могут быть некоторые переадресации с использованием JavaScript вместо правильного кода HTML 3xx). Я не могу заставить его работать. Мне даже не нужно загружать контент - мне просто нужно сделать удар, поэтому сервер может подсчитать, что страница была загружена.Как перейти к переадресации JavaScript в фоновом режиме?

Я уже пробовал WebClient:

WebClient wc = new WebClient(); 
wc.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone; Trident/6.0; IEMobile/10.0)"; 
wc.DownloadStringAsync(new Uri(myUrl), wc); 

, а также HttpWebRequest:

HttpWebRequest request =(HttpWebRequest)WebRequest.Create(myUrl); 
request.Method = "POST"; 
request.AllowAutoRedirect = true; 
request.BeginGetResponse(null, null); 

но оба из них получают только первую страницу.

Я также попытался с помощью «спрятана» WebBrowser:

WebBrowser wb = new WebBrowser(); 
wb.Visibility = Visibility.Collapsed; 
wb.IsScriptEnabled = true; 
wb.Navigate(myUri); 

но это даже не попасть на первую страницу.

ответ

0

Вы не можете сделать это с помощью WebClient или HttpWebRequest (поскольку они не понимают Javascript), но WebBrowser должен работать (я уже делаю это в одном из моих приложений). Просто добавьте его на свою страницу (даже если скрыто) и вызовите метод Navigate из потока пользовательского интерфейса.