Соединение закрыто при попытке загрузить строку с URL

Я хочу перевести строку с одного языка на другой. Я попробовал этот код:

        input = clipoard_word;
        string languagePair = "en|bn";
        string url = String.Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}", input, languagePair);
        WebClient webClient = new WebClient();
        webClient.Encoding = System.Text.Encoding.UTF8;
        try
        {
             result = webClient.DownloadString(url);
        }
        catch (Exception e)
        {
            MessageBox.Show(e.Message);
        }
        result = result.Substring(result.IndexOf("<span title=\"") + "<span title=\"".Length);
        result = result.Substring(result.IndexOf(">") + 1);
        result = result.Substring(0, result.IndexOf("</span>"));
        result = WebUtility.HtmlDecode(result.Trim());
        label1.Text = result;

Но я получаю исключение на линии:

    result = webClient.DownloadString(url);

Сообщение об ошибке говорит:

основная связь была закрыта; неожиданная ошибка произошла на приеме

Что здесь не так и как я могу это решить? N:B: я не хочу использовать API переводчик Google здесь.

1 ответ

Привет, наконец, я нашел решение для вас

вам нужно добавить это в ваш конфигурационный файл

 <system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true">
      <proxy />
      <bypasslist/>
      <module/>
    </defaultProxy>
  </system.net>

проблема --- заключалась в том, что сервер просто использовал настройки прокси-сервера IE для выполнения вызова DownloadString. Мой локальный IIS (7.0) требует, чтобы прокси-сервер был правильно настроен, чтобы разрешить HTTP-доступ на стороне сервера для правильной работы. Это можно сделать с помощью некоторого параметра в файле web.config:

Другие вопросы по тегам