Использование WebClient.DownloadString()

#c# #.net #webclient #webclient-download

#c# #.net #webclient

Вопрос:

У меня странная проблема при использовании WebClient.DownloadString(). Это очень, очень медленно и иногда не работает, но если я попытаюсь перейти на веб-сайт с помощью IE9 / Chrome, все работает нормально.

Вот код:

         var req = new WebClient();
        req.Encoding = Encoding.UTF8;
        string result = string.Empty;
        result = req.DownloadString(someURL);
 

Есть идеи?

Комментарии:

1. Опубликуйте свой код. Не видя, что вы пытаетесь сделать, вам будет практически невозможно помочь.

2. опубликуйте более подробный код ввода-вывода. Насколько велика возвращаемая строка? Рассматривали ли вы возможность использования downloadstringasync?

3. покажите нам код… как вы, кроме нас, догадываетесь, что не так?

4. использует ли ваша система прокси-сервер?

5. @SteveB Нет сервера sroxy

Ответ №1:

Отправленный вами фрагмент является правильным (часть string result = string.Empty; , которая абсолютно бессмысленна). Если вы чувствуете, что приложение блокируется, вам следует рассмотреть возможность использования DownloadStringAsync.

Комментарии:

1. Это не проблема, по какой-то причине это занимает целую вечность, в то время как использование IE9 для перехода на тот же веб-сайт происходит довольно быстро. Я также использую кодировку UTF8, если это что-то значит

Ответ №2:

Попробуйте установить WebClient.Proxy значение GlobalProxySelection.GetEmptyWebProxy