使用Webclient下载Torrent文件的问题

时间:2011-10-09 00:38:24

标签: c# webclient mime bittorrent

我正在尝试构建一个可下载torrent文件的应用。下载时似乎没有正确保存文件。

似乎缺少标题或其他内容。如果您打开文件,则看不到跟踪器的信息。该文件比我从浏览器下载文件大约小1 KB到3 KB。

我认为它必须是mime-file类型问题,因为我用Google上的某些图片替换了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");
}

不确定为什么它缺少标题和跟踪器。

2 个答案:

答案 0 :(得分:1)

我也有这个问题。我想我已经把它缩小到重定向到位于SSL后面的torrent缓存站点。如果您打开Fiddler并将其配置为解密SSL流量,然后执行您的WebClient.Download部分代码,您应该获得所有标头/跟踪器数据。

但是,当你关闭Fiddler并且流量没有被解密时,标题/跟踪器数据就不会再下降了。

不确定如何解决这个问题。

答案 1 :(得分:0)

找到答案...答案是使用gzip压缩。您需要做的就是在Web请求中添加以下行:

request.Headers.Add(HttpRequestHeader.AcceptEncoding,“gzip,deflate”); request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;