从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文件。
如果你能帮我解决这个问题,我将不胜感激。
谨致问候。
我遇到这个问题是因为我直接过滤了网站xml。像这样的链接:opensubtitles.org示例
一开始它运行得很好,但后来他们在网站上做了一些更改,它停止了运行。因此,我所做的是在此基础上构建:OSHandler
该处理程序库正在使用XML-RPC,所以我相信将来不会有任何问题。