Nije nemoguce.
Nema smisla, to se slazem.
Ali dodavanjem user-agenta je proradilo.
Evo ti i kod:
Code (csharp):string queryUrl = "http://translate.google.com/translate_tts?q="+inText+"&tl="+sourceLangValue;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(queryUrl);
request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Naravno da je mutljavina u googleu.
Po meni bi server trebao primati bilo kakav ulaz, pa ga kasnije formatirati po volji.
Dok googleov server ocekuje iskljucivo enkodirani ulaz.
Mislim prima on i normalni, ali krivo shvaća non-ascii znakove.
I iz browsera kad ukucas normalne znakove, vrati krivi rezultat.
Btw. ovo je server za TTS (izgovor), ne sami prijevod.
Imao sam slican problem i sa jednim drugim serverom.
Doduse kod njega se salje POST, pa su podaci uvijek ok.
Ali nije uopce vracao rezultat, dok nisam dodao user-agent header.
Mozda je stvar .NETa. Mozda on postavi vlastiti user-agent koji neki serveri ne shvacaju.
Iako u potpunosti se slazem da je ovo glupost.
User-agent je obican header koji ne bi trebao imati utjecaja na ista, ali...
[Ovu poruku je menjao mmix dana 20.05.2010. u 14:29 GMT+1]