1

文字列をある言語から別の言語に翻訳したい。私はこのコードを試しました:

        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を使用したくありません。

4

1 に答える 1

0

こんにちはついに私はあなたのための解決策を見つけました

これを構成ファイルに追加する必要があります

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

問題---サーバーが単に IE のプロキシ設定を使用して DownloadString 呼び出しを実行したことです。私のローカル IIS (7.0) では、サーバー側の http アクセスが正しく機能するように、プロキシを正しく構成する必要があります。これは、web.config の設定によって行うことができます。

于 2013-01-11T14:31:36.373 に答える