Я написал небольшую программу для форм Windows, которая отправляет строку в Google Translate. Целевая платформа — .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. «Удаленный сервер вернул ошибку: (503) Сервер недоступен». Вот полная ошибка:
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=ru&;ie=UTF8&text={0}&langpair={1}, а затем я получил проблемы с проверкой кода. Я решил эту проблему, добавив "&client=" в конце URL-адреса: translate.google.com/?hl=ru&;ie=UTF8&text={0}&langpair={1}&client=
http
не принимается Google. Измените его наhttps
:string url = String.Format("https://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}", input, languagePair);
- person Tuyen Pham   schedule 15.06.2016https://translate.googleapis.com/translate_a/single?client=gtx&sl=en&tl=de&dt=t&q=my+name+is+Sakura
- person Tuyen Pham   schedule 15.06.2016