C# - WebClient - Remoteserver发送503错误

时间:2016-06-15 09:26:05

标签: c# webclient google-translate system.net.webexception

我写了一个小窗口表单程序,发送一个字符串谷歌翻译。目标框架是.Net 4.5.2

 public string TranslateText(string input, string languagePair)
            {
                try
                {
                    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;
                    string result = webClient.DownloadString(url);
                    result = result.Substring(result.IndexOf("<span title=\"") + "<span title=\"".Length);
                    result = result.Substring(result.IndexOf(">") + 1);
                    result = result.Substring(0, result.IndexOf("</span>"));
                    return result.Trim();
                }
                catch (WebException wex)
                {
                    var err = "";
                    using (var sr = new StreamReader(wex.Response.GetResponseStream()))
                        err= sr.ReadToEnd();
                    saveLog(err);
                    return "FEHLER";
                }
}

所以我的问题是,在我的机器上,代码工作正常。但是在我的客户的计算机上,始终存在System.Net.WebException。 &#34;远程服务器返回错误:(503)服务器不可用&#34;。 这是完整的错误:

System.Net.WebException: The remote server returner an error: (503) Server Unavailable.
   at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
   at System.Net.WebClient.DownloadString(Uri address)
   at WindowsFormsApplication1.Form1.TranslateText(String input, String languagePair)

我不知道,我该怎么做。我试图停用反病毒软件和防火墙。此外,我尝试将url字符串复制到浏览器,并使用一些有效的输入(http://www.google.com/translate_t?hl=en&ie=UTF8&text=test&langpair=de|en

还有什么可以尝试的吗? 感谢您的时间和答案! 最好的祝福,  多米尼克

编辑: 问题解决了。首先,我将网址更改为https://translate.google.com/?hl=en&;ie=UTF8&text= {0}&amp; langpair = {1},然后我收到了验证码问题。我通过添加&#34;&amp; client =&#34;解决了这个问题。在网址末尾:translate.google.com/?hl=en&;ie=UTF8&text={0}&langpair={1}&client=

2 个答案:

答案 0 :(得分:1)

尝试将您的网址更改为此 https://translate.google.com/?hl=en&;ie=UTF8&text={0}&langpair={1} 这将阻止2次重定向。 1到此更改的网址和秒重定向到https://

答案 1 :(得分:0)

您是否检查过客户端计算机上的VPN连接或代理设置?