从opensubtitles.org下载文件

本文关键字:文件 下载 org opensubtitles | 更新日期: 2023-09-27 18:28:41

我需要通过用GTK#和C#编写的应用程序从opensubtitles.org下载文件。该应用程序基于.NET 4.0框架。

起初,这是我使用的代码:

    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下载管理器"应用程序中,它就会自动开始下载zip文件。

如果你能帮我解决这个问题,我将不胜感激。

谨致问候。

从opensubtitles.org下载文件

我遇到这个问题是因为我直接过滤了网站xml。像这样的链接:opensubtitles.org示例

一开始它运行得很好,但后来他们在网站上做了一些更改,它停止了运行。因此,我所做的是在此基础上构建:OSHandler

该处理程序库正在使用XML-RPC,所以我相信将来不会有任何问题。