C# - WebClient - 远程服务器发送 503 错误

C# - WebClient - Remoteserver send an 503 error

我写了一个 windows 表单程序,它发送一个字符串给 google 翻译。目标框架是.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。 "The remote server returned an error: (503) Server Unavailable"。 这是完整的错误:

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)

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

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

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

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