키릴 문자가있는 매개 변수가 포함 된 요청 URL을 사용하여 웹 서버에서 파일을로드하려고합니다. 하지만 C#에서 작동하도록하지는 않습니다. URL 인코딩을 사용하더라도 마찬가지입니다. 내가
http://translate.google.com/translate_tts?tl=ru&q = ЗДРАВСТВУЙТЕ
와 IE에서 페이지를 열 때URL 인코딩 된 키릴 문자가있는 URL을 사용하는 WebClient 문제
서버가 응답하지 않습니다.
예상대로
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
서버가 응답하는 URL 인코딩 된 버전을 사용.
지금 내 문제 :
나는 ... 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);
을 MP3를 다운로드 할 그리고 이것은 키릴 문자와 함께 작동하지 않습니다. 나는 항상 인코딩되지 않은 첫 번째 요청과 같은 0 바이트 응답을 얻는다. "정상"문자를 보내면 위의 코드가 정상적으로 작동합니다.
그래서 ... 나는 잘못된 것을하고 있습니다. 힌트가 있습니까? 티프스? 솔루션?
감사
마이클
이 좋은 작품, 감사합니다. 내가 이해할 수 있도록 : 키릴 문자 URL을 보낼 때 사용자 에이전트가 필요하고 라틴 URL을 보내지 않는 이유는 무엇입니까? – Dark