2016-03-14 5 views
0

Я пытаюсь получить целевую страницу веб-сайта, например:Получить стартовую страницу данного URL

www.mypage.com/
идет в
www.mypage.com/default.aspx
целевая страница default.aspx, так что мне нужно, чтобы определить, если загруженная страница такой же, введя URL, в основном следующим:

вход:

www.mypage.com/ = www.mypage.com/default = www.mypage.com/default.aspx
Ouput:
default.aspx

всех этих входы перенаправляют пользователь на ту же страницу, что является начальной страницей, и URL-адрес является введен поле ввода.

Может ли кто-нибудь помочь мне?

+0

ли вы имеете в виду документ по умолчанию, определенное в IIS? Если да, это определено на уровне веб-сайта – Giox

+0

Я думаю, что это можно было бы сделать довольно легко с помощью WatiN http://watin.org/ –

ответ

0

Используя WatiN, вы можете сделать простой метод тестирования. Что-то вроде этого должно выполнить то, что вы хотите.

ОБНОВЛЕНИЕ: Я думаю, что теперь я понимаю ваш вопрос немного лучше. Я думаю, вы просто хотите получить целевую страницу. Это должно сработать для вас.

public string GetHomePage() 
{ 
    string startURL = "http://www.mypage.com/"; 
    string[] splits = null; 

    using (var browser = new IE(startURL)) 
    { 
     string browserURL = browser.Url; 
     splits = browserURL.Split(new string[] { startURL }, StringSplitOptions.None); 
    } 

    return splits[1]; 
} 
+0

Это, кажется, Unit Testing, могу ли я сделать этот метод логическим и вызывать его из не _Testing_ метод? – jagomen

+0

Да, вы точно можете! Удалите верхнюю часть, измените тип возвращаемого значения и сделайте утверждение assert if. Я могу обновить свой ответ, когда попаду на компьютер –

+0

Я установил WatiN и провел тестирование, но я не могу заставить его работать, знаете ли вы, как получить начальную страницу Url? основанный на моем собственном примере, если я введу 'www.mypage.com /' i get' default.aspx' – jagomen

0

Вы можете попробовать это: `

string url = "http://google.com"; 
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); 
request.AllowAutoRedirect = false; 

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) 
{ 
    string redirect = response.Headers["Location"]; 
    if (redirect != null) 
       Console.WriteLine("Redirected to " + redirect); 
} 
+0

Я пробовал использовать этот код, но я всегда получаю нулевое значение в переменной «redirect», есть ли у вас какие-либо идеи, почему? – jagomen

+0

Даже с Google? Я тестировал его, и он перенаправляет. Для веб-сайта, который вы тестируете, возможно, что он действительно не выполняет перенаправление. –

+0

Да, я также тестировал локальный веб-сайт, где я просто установил стартовую страницу, но я получил нулевое значение – jagomen

Смежные вопросы