其实只要仔细分析下 http 协议, 就知道了。
如果一个文件下载地址,是直接通过http server发送数据给用户客户端(浏览器,下载软件)(例如 http://域名/a.avi) , 这种的就不会出现你说的那种问题。 如果是通过自己写的代码, 例如php,jsp,sevlet,asp等, 根据你http传入的参数, 读取用户要下载的文件数据并传送给用户。 他们的区别,后者 是 通过程序下发用户要下载的文件, 程序里可以做一些代码逻辑验证。 例如refer , coockie的值, 是否登陆,是否post了对应的参数等。 所以这种情况下, 用下载器软件去下载, 必须有你浏览器的插件,才可以正常运作。 否则会出现用浏览器可以下载, 用下载器直接copy url地址下载出现异常, 或者下载的文件后缀名不正确。