Google翻译如何翻译大文本((414)请求 - URI太大)与.NET库
问题描述:
我正在使用.NET库http://code.google.com/p/google-api-dotnet-client/wiki/APIs#Translate_API翻译文本,但我无法翻译大文本,只是一小部分。Google翻译如何翻译大文本((414)请求 - URI太大)与.NET库
我收到错误(414)请求URI太大。应该有一些方法如何做到这一点。
我有这样的代码
var service = new TranslateService();
service.Key = this.ApiKey;
var request = service.Translations.List(textToTranslate, this.LngDestination);
request.Source = this.LngSource;
TranslationsListResponse response = request.Fetch();
foreach (TranslationsResource translation in response.Translations)
{
return translation.TranslatedText;
}
有人不知道如何解决这个问题呢?
答
的documentation此项目说,
注意:您还可以使用POST来调用API,如果你想在一个单一的请求发送更多的数据。 POST主体中的q参数必须小于5K个字符。要使用POST,必须使用X-HTTP-Method-Override头来告诉Translate API将请求视为GET(使用X-HTTP-Method-Override:GET)。
如果您需要帮助切换到POST
,请包含您的TranslateService()
对象中的相关代码。
+0
我知道这一点,但我不知道该怎么做。我正在使用Google http://wsdl.mirodre.sk/Google.Apis.Translate.v2.cs提供的这个类。 不幸的是,我不知道如何修改它。 – mirodre 2013-02-21 17:18:01
如果请求URI太大,则表示执行了GET请求。 POST请求将传输文本以在消息负载中进行翻译,而不是在请求URI中进行翻译。检查您是否可以用某种方式配置您使用的库,而不是使用POST。 – dtb 2013-02-20 22:05:08