Соединение закрыто при попытке загрузить строку с 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: