【问题标题】:Issue with Downloading Torrent Files Using Webclient使用 Webclient 下载 Torrent 文件的问题
【发布时间】: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 下载吗?
  • 遇到同样的问题,你解决了吗?
  • 抱歉回复晚了,我还没弄明白。

标签: c# webclient mime bittorrent


【解决方案1】:

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

但是,当您关闭 Fiddler 并且流量未解密时,标头/跟踪器数据就不会再下降了。

不知道如何解决这个问题。

【讨论】:

    【解决方案2】:

    找到了这个问题的答案...响应使用 gzip 压缩。您需要做的就是将以下行添加到您的网络请求中:

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

    【讨论】:

      猜你喜欢
      • 2012-04-09
      • 1970-01-01
      • 1970-01-01
      • 2012-01-14
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多