C#使用API调用谷歌自动翻译

2021-10-16 20:45

文档管理软件,文档管理系统,知识管理系统,档案管理系统的技术资料:
C#使用API调用谷歌翻译并处理返回结果

自动翻译,是个很好的工具,像我这样对英语很一般的来说少不了,包括一些自动化应用中可能也会用到,网上看了些各种(JavaScript、PHP…)调用Google翻译的方法,通过一些参考,试着用C#写了下,如有好的方法或意见还请指正啊。

首先,

Google翻译API:https://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q={string}&langpair=zh|en

通过IE浏览器直接访问“https://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q={%E5%AD%97%E7%AC%A6%E4%B8%B2}&langpair=zh|en”

返回的结果为:

{“responseData“: {“translatedText“:“{String}“}, “responseDetails“: null, “responseStatus“: 200}

是JSON格式的数据。

首先知道了Google API是可以通过HTTP GET 来访问,并且是以JSON格式返回结果。

其次,

C#调用Google API 得到返回结果

var str = System.Web.HttpUtility.UrlEncode(“字符串“);
string url = string.Format(“https://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q={0}&langpair=zh|en“, str);

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

System.IO.Stream stream = response.GetResponseStream();
System.IO.StreamReader streamReader = new System.IO.StreamReader(stream);

var result = streamReader.ReadToEnd();
Console.WriteLine(result);

streamReader.Close();
stream.Close();
response.Close();
Console.ReadLine();