【发布时间】:2011-08-22 19:25:32
【问题描述】:
所以基本上我有一些法语文本,想用 c# 用英语翻译它。
我正在使用谷歌翻译 api,在我的 text.length > 1000 之前它工作正常......然后我意识到我必须使用 POST 方法。
由于我使用 post 方法,它返回 404。
顺便说一句,我知道该 api 已被弃用,尽管无论如何它会很酷,但我开始意识到也许我应该使用 bing ?
string fromLanguage = "fr";
string toLanguage = "en";
String apiKey = "AIzasdfasdfJvWKNioZwLg-3kyYsm4_dao";
String apiUrl = "https://www.googleapis.com/language/translate/v2";
string tmpTranslatedContent = Translate(apiUrl, "salut la planete", apiKey, fromLanguage, toLanguage);
public string Translate(string url, string text, string key, string fromLanguage, string toLanguage)
{
PostSubmitter post = new PostSubmitter();
post.Url = url;
post.PostItems.Add("key", key);
post.PostItems.Add("source", fromLanguage);
post.PostItems.Add("target", toLanguage);
post.PostItems.Add("q", text);
post.Type = PostSubmitter.PostTypeEnum.Post;
string result = post.Post();
return result;
}
PostSubmitter is a classgoogle 搜到的
网站上的评论说它有效.....
类的主要部分是这样的
HttpWebRequest request=null;
if (m_type==PostTypeEnum.Post)
{
Uri uri = new Uri(url);
request = (HttpWebRequest) WebRequest.Create(uri);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postData.Length;
using(Stream writeStream = request.GetRequestStream())
{
UTF8Encoding encoding = new UTF8Encoding();
byte[] bytes = encoding.GetBytes(postData);
writeStream.Write(bytes, 0, bytes.Length);
}
谢谢。
【问题讨论】:
-
从我的消息顶部删除 yo 是怎么回事?这里只是在进行某种虚假的严肃谈话
-
工作正常,我一开始也试过自己做,有同样的 404 问题。看起来它是 https 和 post 方法的问题......
-
“salut la planete”:“问候地球”?另外,meta.stackexchange.com/questions/2950/…
-
您的实际问题是什么?您是否应该使用 bing 还是这里有编程问题?
标签: c# google-translate