Pobieranie źródła strony

0

Witam, mam problem z pobraniem źródła strony w aplikacji na Windows Phone 8.1
Mam zamiar pobierać kolejne źródła stron z strony http://www.pollub.pl/pl/news/get/id/5967
Chcąc pobrać przykładowy artykuł mam problem z zdefiniowanie adresu Uri w kodzie. doszedłem do takiego momentu.

public  void pobierzArtykuly()
        {
            string path = @"http://www.pollub.pl//pl//news//get//id//5999";
            Uri adress = new Uri(@path);
            var webClient = new WebClient();
            webClient.OpenReadAsync(adress);
            webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(getscores_OpenReadCompleted);
        } 
 private void getscores_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
        {
            try
            {
                using (var reader = new StreamReader(e.Result))
                {
                    string tekst = reader.ReadToEnd();
                    MessageBox.Show(tekst);
                    if (tekst.Contains("Strona o podanym adresie nie istnieje."))
                        MessageBox.Show("nie ma strony");
                    else
                        MessageBox.Show("strona istnieje");
                }
            }
            catch
            {
                MessageBox.Show("Wystąpił nieoczekiwany błąd. Spróbuj ponownie.");
            }
        }

problem pojawia się przy zmiennej path, podając ścieżke do strony tak jak jest pokazana na górze, wyskakuje mi błąd.
Gdy zamienie

 string path = @"http://www.pollub.pl/pl//news/get/id/5999";

na

string path = @"http://www.pollub.pl//pl/news//get//id//5999"; 

pobiera źródło strony ale całkowicie z innej strony. Ktos nakieruje jak moge rozwiązać ten problem ?

0

http://www.pollub.pl//pl/news//get//id//5999 to zupełnie inny url niż http://www.pollub.pl/pl//news/get/id/5999. Skąd pomysł na dublowanie slashy, skoro kod działa prawidłowo dla prawidłowego adresu?
Żeby było pięknie i ślicznie, to adres powinien wyglądać tak: http://www.pollub.pl/pl/news/get/id/5999. Najwyraźniej ktoś pokpił sprawę i w serwis politechniki zawiera niedoróbkę wymagającą podania podwójnego slasha w tym jednym konkretnym miejscu. Jednak błędem jest wyciąganie na tej podstawie wniosku, że należy zduplikować wszystkie slashe.

tekst.Contains("Strona o podanym adresie nie istnieje.") - tu coś Ci się pomyliło. Argument e metody handlera zawiera pole Error i to na nim powinieneś polegać. Zwykle Error zawiera WebException, a w nim masz dostęp do wszystkich pól response'a, między innymi do statusu http. Nieznaleziona strona to status 404.

1 użytkowników online, w tym zalogowanych: 0, gości: 1