Мне нужно загрузить файлы с opensubtitles.org через мое приложение, написанное на GTK # и C#. Приложение основано на платформе .NET 4.0.Скачать файл с opensubtitles.org
Сначала это был код, который я использовал:
var tZip = new FastZip();
try {
var tRequest = (HttpWebRequest)HttpWebRequest.Create(tDownloadUrl);
var tZipResponse = (HttpWebResponse)tRequest.GetResponse();
using (var tStream = tZipResponse.GetResponseStream()) {
using (var tMemStream = new MemoryStream()) {
tStream.CopyTo(tMemStream);
var tTempPath = Globals.video_location + "OSD";
Directory.CreateDirectory(tTempPath);
tZip.ExtractZip(tMemStream, tTempPath, FastZip.Overwrite.Always, null, @"\.srt$", null, false, true);
var tDirInfo = new DirectoryInfo(tTempPath);
var tFileInfo = new FileInfo(Globals.location_video);
var tSrtFile = tDirInfo.EnumerateFiles().FirstOrDefault();
if (tSrtFile == null) {
writeLog("No .srt file found in zip..");
goto text;
}
writeLog("Downloaded and unpacked: " + tSrtFile.Name);
File.Copy(tSrtFile.FullName, Globals.video_location+Globals.video_name+".srt", true);
Globals.savedTitle = Globals.video_location+Globals.video_name+".srt";
// clean up..
Directory.Delete(tTempPath, true);
writeLog("Deleted temp folder.");
return true;
}
}}
И что работало очень хорошо до тех пор, несколько дней назад, теперь она возвращается кучей HTML коды вместо файла .zip. Я пробовал даже что-то вроде этого:
WebClient client = new WebClient();
client.DownloadFile(link, @"OSD\test.zip");
Но все просто держит возвращающийся кучу html-кода. Ссылки я обычно пытаюсь загрузить что-то вроде этого: http://dl.opensubtitles.org/en/download/subad/4287952
Если вы нажмете на ссылку выше, это будет просто перенаправить вас на страницу Opensubtitles.org этого конкретного подзаголовка. Но если вы щелкните правой кнопкой мыши по этой ссылке, а затем выберите «открыть в новой вкладке» или «открыть в новом окне», она автоматически запустит загрузку. (Протестировано в Firefox) Также, как только я вставляю эту ссылку в приложение «Internet Download Manager», она автоматически начнет загрузку zip-файла.
Если вы можете помочь мне решить эту проблему, я буду искренне благодарен.
С уважением.
Вы просматривали HTML-код в браузере? Что он говорит? Вероятно, это сообщение об ошибке, которое может помочь вам понять, почему загрузка не выполняется. Также вы должны проверить свойство 'StatusCode'' HttpWebResponse' для определения проблемы. – adv12