-2

ASP.NET 4.0

我已经用谷歌搜索了近一个星期,但找不到任何解决我的问题的方法。我想下载文件以将它们存储在我的服务器上。我知道使用 webclient 它可以完成这项工作,但仅适用于直接链接

 webClient = new WebClient();
 webClient.DownloadFile(fileUrl, filePath);

它不适用于没有直接链接的文件!我怎样才能下载这些类型的文件?

直接链接:www.example.com/pic.jpg

间接链接:www.example.com/download?xxxxxxx

我遇到这个问题的具体网站是 www.zbigz.com

您可以通过在 www.zbigz.com 上复制此链接torrent 链接来获得间接链接,它会在一分钟内缓存文件并在“免费”类别下为您提供链接。

我确实有一个由这个站点生成的链接,但它对你不起作用,因为这个站点不支持下载共享链接。 http://34044.zbigz.com/core/outfile.php?did=d85ade21e892f386e55a556ce47b654b

编辑 对于所有认为这是为了抓取的人!我想下载这些文件,但不能直接这样做,因为我的大学已经阻止了包括这个在内的许多网站,所以作为一名 cse 学生,我想到了另一种将它们下载到我的服务器然后从服务器下载到我的机器的方法。

        byte[] content;
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        WebResponse response = request.GetResponse();

        Stream stream = response.GetResponseStream();

        using (BinaryReader br = new BinaryReader(stream))
        {
            content = br.ReadBytes(500000);
            br.Close();
        }
        response.Close();

        FileStream fs = new FileStream(file_name, FileMode.Create);
        BinaryWriter bw = new BinaryWriter(fs);
        try
        {
            bw.Write(content);
        }
        finally
        {
            fs.Close();
            bw.Close();
        }

这是我正在尝试的代码,适用于直接链接,但在上述链接上给出 403 禁止错误。

4

1 回答 1

1

不使用WebClient但使用WebRequest

WebRequest 可以自动处理重定向。

请参阅 从中派生 WebRequest 的System.Net.WebRequestSystem.Net.HttpWebRequest

于 2013-01-28T15:01:48.380 回答