我想将字符串从一种语言翻译成另一种语言。我试过这段代码:
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:我不想在这里使用google翻译api。
答案 0 :(得分:0)
您好,我终于为您找到了解决方案
您需要在配置文件中添加它
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy />
<bypasslist/>
<module/>
</defaultProxy>
</system.net>
问题 --- 是服务器只是采用IE的代理设置来执行DownloadString调用。我的本地IIS(7.0)要求必须正确配置代理内容才能使服务器端http访问正常工作。这可以通过web.config中的某些设置来完成: