使用 Webclient 下载 Torrent 文件的问题
Posted
技术标签:
【中文标题】使用 Webclient 下载 Torrent 文件的问题【英文标题】:Issue with Downloading Torrent Files Using Webclient 【发布时间】:2011-12-03 18:44:10 【问题描述】:我正在尝试构建一个可以下载 torrent 文件的应用程序。下载时似乎无法正确保存文件。
它似乎缺少标题或其他东西。如果您打开文件,您将看不到跟踪器的信息。该文件比我从浏览器下载的文件小 1 KB 到 3 KB。
我认为它必须是 mime 文件类型问题,因为我用谷歌上的一些图片替换了 torrent 链接,并且下载正常。
private void submitButton_Click(object sender, EventArgs e)
string hashCodeString;
hashCodeString = hashTextBox.Text;
addressTextBox.Text = "http://www.torrage.com/torrent/" + hashCodeString +".torrent";
torrageLinkLabel.Text = addressTextBox.Text;
private void torrageLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
using (var client = new WebClient())
client.DownloadFile(torrageLinkLabel.Tex… @"C:\torrent\file.torrent");
不知道为什么它缺少标题和跟踪器。
【问题讨论】:
您确定从同一个 URL 下载吗? 遇到同样的问题,你解决了吗? 抱歉回复晚了,我还没弄明白。 【参考方案1】:我也遇到了这个问题。我想我已经把它缩小到重定向到位于 SSL 后面的 torrent 缓存站点。如果您打开 Fiddler 并将其配置为解密 SSL 流量,然后执行您的 WebClient.Download 代码部分,您应该会获得所有标头/跟踪器数据。
但是,当您关闭 Fiddler 并且流量未解密时,标头/跟踪器数据就不会再下降了。
不知道如何解决这个问题。
【讨论】:
【参考方案2】:找到了这个问题的答案...响应使用 gzip 压缩。您需要做的就是将以下行添加到您的网络请求中:
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate"); request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
【讨论】:
以上是关于使用 Webclient 下载 Torrent 文件的问题的主要内容,如果未能解决你的问题,请参考以下文章
如何在 python 中使用 urllib 下载 .torrent 文件?
无法使用 monotorrent 从新创建的 torrent 下载文件