Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Windows Phone

Войти
Регистрация
Восстановить пароль
 
schullz
0 / 0 / 0
Регистрация: 11.02.2015
Сообщений: 5
#1

Загрузить содержимое web-страницы - Windows Phone

11.02.2015, 14:40. Просмотров 1004. Ответов 9
Метки нет (Все метки)

Научился загружать содержимое веб-страницы следующим образом:
C#
1
2
3
4
5
6
7
8
9
10
11
void foo()
{    
    WebClient wc = new WebClient();
    wc.DownloadStringCompleted += DownloadCompleted;
    wc.DownloadStringAsync(new Uri(@"http://cyberforum.ru"));      
}
 
void DownloadCompleted(object sender, DownloadStringCompletedEventArgs e)
{    
    // обработать e.Result  
}
А хотелось бы сделать примерно вот так:
C#
1
2
3
4
5
6
7
string bar()
{
    WebClient wc = new WebClient();
    wc.DownloadStringAsync(new Uri(@"http://cyberforum.ru")); 
    /// сделать что-то ???
    return result; // вернуть содержимое страницы
}
, то есть записать в одну функцию и без асинхронности
Возможно ли это?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2015, 14:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Загрузить содержимое web-страницы (Windows Phone):

Загрузить содержимое при прокрутке страницы - JavaScript
в определенной директории имеем файлы: index1.html index2.html index3.html index4.html ... Нижнее положение скролла...

Загрузить url открытой web страницы в memo - Delphi
привет, я хотел загрузить активный url в memo. нужно загрузить url открытой web страницы в memo у меня есть код, который выводит url...

Компонент WebBrowser и его аналоги или как загрузить содержимое веб страницы в память - Delphi
Господа, вот есть компонент Memo, а есть его программный аналог TStringlist. Следуя этой логике хотелось бы узнать какой аналог есть у...

Как загрузить изображение с WEB страницы, не используя его URL адрес - Visual Basic
Задача: есть адрес веб-страницы, на которой расположена картинка. Эта картинка при обновлении страницы меняется (скажем так - это каптча...

Как автоматически формировать содержимое web.xml, jboss-web.xml? - Java
Подскажите пожалуйста, как автоматически формировать содержимое web.xml, jboss-web.xml .... JBoss 4.0.2 IntelliJ IDEA 4.5.4

Загрузить содержимое папки в combobox - VBA
В папке, расположенной по адресу C:\R\, лежат текстовые файлы. Необходимо загрузить названия этих файлов в ComboBox1 при загрузке формы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
11.02.2015, 22:33 #2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
        public Task<string> DownloadAsStringAsync(string url)
        {
            var taskSource = new TaskCompletionSource<string>();
            var wc = new WebClient();
            wc.DownloadStringCompleted += (s, e) =>
            {
                if (e.Error == null)
                {
                    taskSource.TrySetResult(e.Result);
                }
                else
                {
                    taskSource.TrySetException(e.Error);
                }
            };
 
            wc.DownloadStringAsync(new Uri(url));
 
            return taskSource.Task;
        }
 
      .......
 
      var result = await this.DownloadAsStringAsync("http://www.cyberforum.ru/");

и без асинхронности
и зачем нам это надо? что бы зафризить апп на момент выполнения загрузки? ох и удобно
0
jenokizm
18 / 34 / 10
Регистрация: 27.03.2014
Сообщений: 690
13.02.2015, 11:14 #3
Дикий ужас!
Во первых такая тема уже была на форуме с успешным ответом!
Во вторых ответ купы полный гомнокод!
0
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
13.02.2015, 11:55 #4
Цитата Сообщение от jenokizm Посмотреть сообщение
Во вторых ответ купы полный гомнокод!
а ну ка, покажите правильный результат?
а так же, укажите, где здесь "гавнокод"?
0
schullz
0 / 0 / 0
Регистрация: 11.02.2015
Сообщений: 5
13.02.2015, 15:02  [ТС] #5
Цитата Сообщение от jenokizm Посмотреть сообщение
Во первых такая тема уже была на форуме с успешным ответом!
в подтверждение этих слов неплохо было бы дать ссылку на такую же тему, а то поиск не дал результатов
0
jenokizm
18 / 34 / 10
Регистрация: 27.03.2014
Сообщений: 690
15.02.2015, 18:29 #6
schullz, то была моя тема и/или мой ответ. Найти ведь не сложно....
чтобы не повторятся так и быть перепишем заного еще актуальнее,
1) исправим и оптимизируем твой первый вариант с результирующм событием
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void GetWebPageWithEvent(string url)
        {
            WebClient webClient = new WebClient();
            webClient.DownloadStringCompleted += OnDownloadStringCompleted;
            webClient.DownloadStringAsync(new Uri(url));
        }
 
        private void OnDownloadStringCompleted(object sender,
        DownloadStringCompletedEventArgs e)
        {
            Debug.WriteLine(e.Result);
        }
2) Изменим "А хотелось бы сделать примерно вот так"
C#
1
2
3
4
5
6
private async void GetWebPageAsync(string url)
        {
            WebClient webClient = new WebClient();
            string page = await webClient.DownloadStringTaskAsync(url);
            Debug.WriteLine(page);
        }
0
jenokizm
18 / 34 / 10
Регистрация: 27.03.2014
Сообщений: 690
22.02.2015, 13:26 #7
Upd1: можно вообще в одну строку без самопальных методов
C#
1
string page = await new WebClient().DownloadStringTaskAsync("http://habrahabr.ru/post/139734/");
0
follow39
58 / 58 / 17
Регистрация: 27.01.2014
Сообщений: 384
22.02.2015, 13:46 #8
jenokizm, не плохая пасхалочка
0
schullz
0 / 0 / 0
Регистрация: 11.02.2015
Сообщений: 5
24.02.2015, 14:26  [ТС] #9
Цитата Сообщение от jenokizm Посмотреть сообщение
Upd1: можно вообще в одну строку без самопальных методов
Код C#
1
string page = await new WebClient().DownloadStringTaskAsync("http://habrahabr.ru/post/139734/");
но ведь этот способ не для Windows Phone!
0
jenokizm
18 / 34 / 10
Регистрация: 27.03.2014
Сообщений: 690
08.04.2015, 10:34 #10
Цитата Сообщение от schullz Посмотреть сообщение
но ведь этот способ не для Windows Phone!
Ну хз, ты ведь сам просил с вебклиентом пример, у меня работает везде.
Если нужен http то там все намного проще
C#
1
2
3
4
5
6
        private async Task<string> GetHtmlCodeAsync(string url)
        {
            var httpClient = new HttpClient();
            string res = await httpClient.GetStringAsync(url);
            return res;
        }
но иногда имей ввиду, нужно делать так GetStringAsync(url).Result
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2015, 10:34
Привет! Вот еще темы с ответами:

Загрузить содержимое плейлиста в ListView - Delphi
Нужно загрузить информацию о всех треках в плейлисте в ListView procedure TForm2.sTreeView1DblClick(Sender: TObject); var...

Загрузить содержимое исполняемого файла - Delphi
У меня есть свое расширение (*.Format) - это по идее обычный Ini-файл, который представляет из себя файл визуальных настроек...

Загрузить содержимое json в переменную - jQuery
Добрый день! Вот есть у меня переменная var json = { &quot;id&quot;: &quot;437_0&quot;, &quot;name&quot;: &quot;Nine Inch Nails&quot;, ...

Корректно загрузить содержимое файла - C++ Builder
Добрый день. Необходимо загрузить содержимое файла в мемо. Но проблема вот в чем: между фразами в строке присутствуют null байты, т.е....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.04.2015, 10:34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru