2012-01-19 9 views
0

私はアドバイスを求めます。 翻訳するテキストの文字列をtranslate.googleに送信する方法があります。このメソッドは、BackgroundWorkerを通じて呼び出されます。問題はいくつかのコンピュータでは問題なく動作するが、一部のコンピュータではDownloadDataに失敗するということです。例外は、不明なエラーのみを報告します。私の英語はすみません。アドバイスありがとう。DownloadDataメソッドが不明なエラーで失敗しましたが、一部のPCのみ

private string translateCleanString(string cleanText) 
    { 
     UnicodeEncoding enc = new UnicodeEncoding(); 

     string url = string.Format("http://www.google.com/translate_t?text={0}&langpair={1}", cleanText, "sk|cs"); 
     byte[] data = null; 

     using (WebClient client = new WebClient()) 
     { 
      client.Encoding = UTF8Encoding.Default; 
      client.Headers["User-Agent"] = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9"; 
      client.Headers["Accept-Language"] = "en-us,en;q=0.5"; 
      client.Headers["Accept-Charset"] = "ISO-8859-1,utf-8;q=0.7,*;q=0.7"; 

      try 
      { 
       data = client.DownloadData(url); //Fail, row 300 
      } 
      catch(Exception e) 
      { 
       MessageBox.Show(e.Message); 
      } 

      return FiltracePrelozenehoTextuOdBordelu(Encoding.GetEncoding(Regex.Match(client.ResponseHeaders["Content-Type"], "(?<=charset=)[\\w-]+").Value).GetString(data)); 
     } 
    } 

EDIT:例外

e.StackTrace

  • V System.Net.WebClient.DownloadDataInternal(URIアドレス、WebRequestクラス&リクエスト)
  • のV System.Net.WebClient .DownloadData(Uriアドレス)
  • v System.Net.WebClient.DownloadData(文字列アドレス)
  • V Prekladac_titulku.Preklad.translateCleanString(文字列cleanText)のV C:\ユーザー\ radicz \デスクトップ\ Prekladac_titulku(verze 2)\ Prekladac_titulku(verze 2)\ Prekladac_titulku \ Preklad.cs:300

をラデクe.InnerException

  • 伝送接続からデータを読み取ることができません:接続がクローズ..

e.Message

  • WebClientリクエスト中に例外がスローされました。

WebException電子

  • 応答:NULL
  • ステータス:ないUnknownError
  • 出典:システム
  • InternalStatus:RequestFatal
+0

また、関連する例外(e.Message、e.StackTrace、..)も投稿してください。 – mtijn

答えて

0

代わりとSE WebExceptionをキャッチしてみより詳細な情報があればe

try 
{ 
     data = client.DownloadData(url); 
} 
catch(WebException e) 
{ 
     MessageBox.Show(e.Status.ToString()); 
} 
関連する問題