【发布时间】:2019-05-01 19:31:44
【问题描述】:
我正在使用这种方法通过谷歌翻译从我的程序中翻译一些文本,直到本周它都运行良好:
public string TranslateText(string input, string languagePair)
{
string r = WebUtility.HtmlDecode(input);
r = WebUtility.UrlEncode(r);
string url = String.Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}", r, languagePair);
WebClient webClient = new WebClient();
webClient.Encoding = Encoding.GetEncoding("Windows-1252");
byte[] resultbyte = webClient.DownloadData(url);
string result = Encoding.Default.GetString(resultbyte);
result = result.Substring(result.IndexOf("TRANSLATED_TEXT=") + 16);
result = result.Replace("\\x26", "&");
result = result.Replace("\\x3d", "=");
result = WebUtility.HtmlDecode(result);
result = result.Remove(result.IndexOf(";"));
result = result.Replace("'", string.Empty);
return result;
}
但现在我像往常一样运行程序并且总是得到这个翻译:
<html lang="en"> <head> <style>@import url(https://fonts.googleapis.com/css?lang=en&family=Product+Sans|Roboto:400,700)
我不知道会发生什么。有谁知道是什么问题?
【问题讨论】:
-
Google 可能更改了响应的格式
标签: c# google-translate translate