DownloadData方法失败,出现未知错误,但仅限于某些PC上

问题描述:

我想征询意见。 我有一个方法,我发送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)); 
     } 
    } 

编辑:异常

e.StackTrace

  • v System.Net.WebClient.DownloadDataInternal(URI地址,的WebRequest &请求)
  • v System.Net.WebClient .DownloadData(Uri地址)
  • v System.Net.WebClient.DownloadData(String address)
  • v Prekladac_titulku.Preklad.translateCleanString(字符串cleanText)V C:\用户\ radicz \桌面\ Prekladac_titulku(verze 2)\ Prekladac_titulku(verze 2)\ Prekladac_titulku \ Preklad.cs:RADEK 300

e.InnerException

  • 无法从传输连接读取数据:连接关闭..

e.Message

  • 在WebClient请求期间引发异常。

引发WebExceptionË

  • 响应:NULL
  • 状态:不明错误
  • 来源:系统
  • InternalStatus:RequestFatal
+0

请同时发布相关的异常(e.Message,e.StackTrace,..) – mtijn

尝试捉住WebException来代替,而SE如果它提供更多的细节。

try 
{ 
     data = client.DownloadData(url); 
} 
catch(WebException e) 
{ 
     MessageBox.Show(e.Status.ToString()); 
}