linux – wget和curl以某种方式在下载时修改bencode文件

好的,所以我有一个奇怪的问题,我不完全确定如何解释…基本上我正在尝试解码一个bencode文件(.torrent文件)现在我尝试了4或5个不同的脚本我有通过谷歌和SO发现没有运气(不是在字典中得到这样的回报或者输出错误)

现在我正在下载.torrent文件

wget http://link_to.torrent file  
 //and have also tried with curl like so 
curl -C - -O http://link_to.torrent

我得出的结论是,当我以这种方式下载时,文件中发生了一些事情.
原因是我发现这个网站有哪些will decode a .torrent file you upload online显示文件中包含的信息.但是,当我下载.torrent文件时,不仅仅是通过浏览器点击链接,而是使用上述方法之一,它也不起作用.
那么有没有人使用这些方法之一遇到类似的问题,并找到问题的解决方案,甚至解释为什么会发生这种情况?
我可以;在网上找到很多关于它的信息,也不知道我可以用于我的服务器的解决方法

更新:
好的,正如@ coder543建议的那样,通过浏览器与wget比较下载的文件大小.它们的大小不同,使用wget样式会产生较小的文件大小,因此很明显问题出在wget&卷曲不是别的东西..想法?

更新2:
好吧所以我现在已经尝试了几次,我正在缩小问题,这个问题似乎只发生在torcache和torrage链接上.来自其他网站的链接似乎正常或正常工作……所以这里有一些链接和我的结果来自thrre不同的方法

*** differnet sizes***
 http://torrage.com/torrent/6760F0232086AFE6880C974645DE8105FF032706.torrent
   wget -> 7345,curl -> 7345,browser download -> 7376

 *** same size***
 http://isohunt.com/torrent_details/224634397/south+park?tab=summary
 wget -> 7491,curl -> 7491,browser download -> 7491

 *** differnet sizes***
 http://torcache.net/torrent/B00BA420568DA54A90456AEE90CAE7A28535FACE.torrent?title=[kickass.to]the.simpsons.s24e12.hdtv.x264.lol.eztv
 wget -> 4890,curl-> 4890,browser download -> 4985

  *** same size***
 http://h33t.com/download.PHP?id=cc1ad62bbe7b68401fe6ca0fbaa76c4ed022b221&f=Game%20of%20Thrones%20S03E10%20576p%20HDTV%20x264-DGN%20%7B1337x%7D.torrent 
  wget-> 30632,curl -> 30632,browser download -> 30632

  *** same size***
 http://dl7.torrentreactor.net/download.PHP?id=9499345&name=ubuntu-13.04-desktop-i386.iso
 wget-> 32324,curl -> 32324,browser download -> 32324

 *** differnet sizes***
http://torrage.com/torrent/D7497C2215C9448D9EB421A969453537621E0962.torrent
wget -> 7856,curl -> 7556,browser download -> 7888

所以我似乎在某些网站上工作得很好,但是真正在torcache.net和torrage.com上提供文件的网站.现在,如果我可以使用不直接依赖缓存的其他网站,那将是很好的但是我正在使用bitsnoop api(从torrage.com获取所有数据,因此它不是真正的选项)无论如何,如果有人有任何想法关于如何解决这个问题或寻找解决方案的步骤,将不胜感激!

即使任何人都可以重现结果,我们将不胜感激!
…我的服务器在64位架构上是12.04 LTS,笔记本电脑我尝试了实际的下载比较是一样的

解决方法

对于使用命令行工具检索的文件,我得到:

$file 6760F0232086AFE6880C974645DE8105FF032706.torrent
6760F0232086AFE6880C974645DE8105FF032706.torrent: gzip compressed data,from Unix

当然,使用gunzip进行解压缩会产生正确的输出.
查看服务器发送的内容,给出了有趣的线索:

$wget -S http://torrage.com/torrent/6760F0232086AFE6880C974645DE8105FF032706.torrent
--2013-06-14 00:53:37--  http://torrage.com/torrent/6760F0232086AFE6880C974645DE8105FF032706.torrent
Resolving torrage.com... 192.121.86.94
Connecting to torrage.com|192.121.86.94|:80... connected.
HTTP request sent,awaiting response...
  HTTP/1.0 200 OK
  Connection: keep-alive
  content-encoding: gzip

所以服务器确实报告它发送gzip压缩数据,但wget和curl忽略了这一点.curl有一个 – 压缩开关,可以为你正确地解压缩数据.即使对于未压缩的文件,这应该是安全的,它只是告诉http服务器客户端支持压缩,但在这种情况下,curl会查看收到的标头,看它是否真的需要解压缩.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...