Я пытаюсь загрузить файл с веб-сервера с URL-адресом запроса, который содержит параметр с кириллическими символами. Но я не заставляю это работать в С#, даже если я URL-кодирую параметр.
Когда я открываю страницу в IE с
http://translate.google.com/translate_tts?tl=ru&q=ЗДРАВСТВУЙТЕ
сервер не отвечает.
Использование версии с кодировкой URL
http://translate.google.com/translate_tts?tl=ru&q=%d0%97%d0%94%d0%a0%d0%90%d0%92%d0%a1%d0%a2%d0%92%d0%a3%d0%99%d0%a2%d0%95
сервер отвечает ожидаемым образом.
Теперь моя проблема:
Я хочу скачать MP3 с C#...
var url = string.Format("http://translate.google.com/translate_tts?tl=ru&q={0}",
Server.UrlEncode("ЗДРАВСТВУЙТЕ"));
System.Net.WebClient client = new WebClient();
var res = client.DownloadData(url);
И это НЕ работает с кириллическими символами. Я всегда получаю ответ с нулевым байтом, как и первый незакодированный запрос. Когда я отправляю «обычные» символы, приведенный выше код работает нормально.
Так что... я что-то не так делаю. Любые подсказки? Чаевые? Решения?
Спасибо
Майкл