精华内容
下载资源
问答
  • 更新后台数据统计显示更新失败中的90%为HTTP下载失败,具体的失败原因是文件下载完成后MD5与服务器预期的MD5不匹配。在着手调查解决这个问题时,我第一个怀疑的点是客户端下载器。我希望能在代码里找到发生以下两种...


    从7月中旬左右,我们客户端更新失败率由原来的2%上升到10%。更新后台数据统计显示更新失败中的90%为HTTP下载失败,具体的失败原因是文件下载完成后MD5与服务器预期的MD5不匹配。

    在着手调查解决这个问题时,第一个怀疑的点是客户端下载器我希望能在代码里找到发生以下两种情况的可能性:一种是客户端在代码是否会导致文件下载不完整,另一种则是客户端的HTTP访问有没有明确禁用Http Cache。但客户端代码的Code Review表明每次Http请求都在Http头中明确启动了禁用Cache标志,对HTTP文件下载文件长度校验也吻合Http1.1的规范。

    在第一次分析失败的基础上,我系统地整理了客户端从构建完成直至其被传送到最终用户机器上的全部流程,从完整的数据流路径中来分析问题的可能性。这个大的路径分天然地分成了两个独立的部分。

    一是目标文件的部署过程


    为了避免可能存在的cache,我们客户端的每个新版本发布,都会在cdn源站上以此版本号创建创建一个全新的目录,下载地址形式如下:

    HTTP://域名/版本号/子目录/子目录/文件名

    部署过程的URI配置、源和目录配置都有完整的手工验证,这儿不会出现错误。唯一有可能出错的过程是Rysnc目标文件到CDN源站的过程,但事实上如果Rsync出错,则影响的升级错误量不可能只有10%这么少。所以部署流程中的错误可以全部排除。

    二是客户端的下载过程


    更进一步地,把把客户端的下载过程进行细分,可以得到两个子流程,即DNS解析过程和客户端文件传输过程:


           

    我们尝试从客户端下载的这两个子流程中去猜测错误发生的可能性:

    1. ISP DNS或者CNAME服务器出错,返回了不正确的CDN节点IP给客户端,导致客户端连接上了错误的目标站点,从而下载不到任何文件或者被拒绝访问。

    2. CDN节点有可能存在不正确的文件缓存机制,导致客户端访问到的是此文件的历史版本。

    3. 这些失败的用户中的大部分为网吧用户,因为网吧的网管软件升级和客户端升级相冲突,可能存在不正确的历史版本文件缓存。

    4. ISP网关或ISP中间服务器存在不正确的文件缓存机制,导致客户端访问到的文件是此文件的历史版本。

    针对可能性1,我们从错误日志中分析得到失败最多的10个CDN节点IP (来自这些IP的失败占了总失败的80%以上),经和CDN厂商确认,均是其CDN边缘节点,故障1可以排除。

    针对可能性2,我们从10个失败最多的CDN节点里抽样调查并下载了数个校验失败文件, 结果显示CDN节点上的数据准确无误。故障2可以排除。

    剩下的问题就只有可能是猜测3或猜测4,而这两个猜测均指向了文件缓存机制(http cache).于是我们继续进行错误日志分析,希望能找到历史版本中的文件MD5和失败时的MD5匹配。而日志分析结果也确实证明了这一点,日志的分析结果如下:

    1.文件下载校验失败只能解释为Cache失败--这些校验失败的文件的MD5,95%以上对应的是我们某一些客户端历史版本该文件的MD5。也就是说客户端总是下载到历史上存在该文件。

    2.下载失败的客户端IP散落在广大的北方,其中80%以上是联通节点的失败。但是IP分布并无规律,不集中在一些地区。

    3.校验失败的文件总是那四个4个文件,它们的检验失败占了总校验失败的90%以上

    4.失败的IP不在我们能查询到的网吧IP列表当中

    5.失败的客户端安装目录无网吧安装目录结构特征。

    6.失败的客户端网吧管理软件检测显阳性的样本占总失败的比例不到1%

    日志分析结果4、5、6项网吧的可能性被排除在外,那么这段时间的文件校验失败,最大可能客户端网络接入商这一环有问题--某些二三级网络服务接入商为了节省给最终用户的带宽,而仅仅使用域名+文件名作为Cache KEY来实现HTTP下载Cache.且不管用户在HTTP访问时是否带有No Cache标志,它都以自己的Cache命中的文件优先返回给了最终用户。这样的解释在理论上说得通,也能与我们遇到的失败率(10%左右)相一致。

    针对可能存在的这种不良Cache策略,我们尝试解决方案如下:

    对每一个新版本的客户端升级文件压缩包的名字前带上编译号前缀,这样看起来每次升级,它的文件名和目录均不同。新的客户端升级URL形式为:

    HTTP://域名/版本号/子目录/子目录/编译号_文件名

    假如ISP的HTTP Cache策略如我们所推测,那么他们仅使用的域名文件名作为Cache Key在我们修改文件名之后就会失效,相应的就会CDN节点上获取正确的文件版本,最终客户端的下载就会成功。

    在此方案实施后,客户端升级校验失败率降到了0.5%,问题得以解决.

    转载于:https://www.cnblogs.com/jiffwan/archive/2012/11/18/2775710.html

    展开全文
  • 请重新登录小程序下载校验文件。 2.https证书过期。请确保https证书处于有效期内。 3.使用curl 测试链接,确保curl能够正常访问链接。 4.请确保url中的文件名与下载下来的文件名大小写一致。 5.其实上面...

    1.校验文件内容错误。校验文件内容一般是非HTML数据,如果下载下来的校验文件内容为HTML数据,一般为登录态过期。请重新登录小程序下载校验文件。

    2.https证书过期。请确保https证书处于有效期内。

    3.使用curl 测试链接,确保curl能够正常访问链接。

    4.请确保url中的文件名与下载下来的文件名大小写一致。

    5.其实上面说的都没用,真正的原因是微信后台有个小问题,对泛域名https证书的识别性不好,去申请一个免费的单域名证书

       比如 你要验证你的业务域名为a.example.com,那就去申请一个a.example.com的证书,免费域名现在在七牛、阿里云、腾讯云等都可以申请到

       申请完了用单域名的替换掉泛域名证书,然后再次验证,你会发现已经成功修改成功了

       修改成功后再把单域名证书换成通用域名证书。比如a.example.com ----> *.example.com

       

    展开全文
  • 展开全部刷机包非官方指定的刷机包或者与手机不匹配导致出现该提示,这种情况应该访问小米的e69da5e6ba9062616964757a686964616f31333365633836官方论坛,按照对应的机型选择对应的刷机包,下载到手机或电脑上,然后...

    展开全部

    刷机包非官方指定的刷机包或者与手机不匹配导致出现该提示,这种情况应该访问小米的e69da5e6ba9062616964757a686964616f31333365633836官方论坛,按照对应的机型选择对应的刷机包,下载到手机或电脑上,然后再重新刷机。

    原因:

    一、刷机包非官方指定的刷机包或者与手机不匹配导致出现该提示,这种情况应该访问小米的官方论坛,按照对应的机型选择对应的刷机包,下载到手机或电脑上,然后再重新刷机。

    二、刷机包在下载过程部分文件丢失或者错误导致刷机包不完整,所以在刷机时出现该错误提示,这种情况同样需要访问小米的官方论坛,重新下载对应型号的完整的刷机包,再重新刷机即可。

    解决方法:

    先把刷机包更名为update.zip后直接拷入存储卡内(切记非二级文件夹,假设存储卡在电脑中为盘“H”,update文件应该为h:/update.zip),然后将手机关机。

    1,摁音量键“+”和电源键进入Recovery界面。

    2,选择你所需要的语言后选择“清除数据”。

    3,选择清除“所有数据”,摁下电源键确认。

    4,摁下电源键选择“确认”选项,清除数据。

    5,该操作会清除ROM内相关数据,请做好备份。

    6,进入Recovery,选择“将update.zip安装至系统一”。

    7,点击“确定”后系统进行刷机。

    8,进入“重启”,选择“重启进入系统一”。

    展开全文
  • <div><p>太极阳6.0.2 安卓10 网易云6.4 提示 文件完整性校验失败。root版在哪下载</p><p>该提问来源于开源项目:nining377/UnblockMusicPro_Xposed</p></div>
  • 昨天下载了一个将近一G的软件,在解压时,提示“CRC校验失败,文件被破坏”,不至于再重新下载吧,需要四个多小时呢,网上的方法也试了好多种,都不好用... 我采用的方法很简单:在没有解压完(提示出错的情况下)...
         昨天下载了一个将近一G的软件,在解压时,提示“CRC校验失败,文件被破坏”,不至于再重新下载吧,需要四个多小时呢,网上的方法也试了好多种,都不好用...
         我采用的方法很简单:在没有解压完(提示出错的情况下)拷贝文件到其它目录,等解压完成,OK,文件依然好用,这个方法应该是有针对性地,还是枚举一下网络的做法。
         网络的方法:
         办法一:WinRAR本身就带有压缩包修复功能。点击菜单“工具”下的“修复压缩文件”即可,快捷键是“ALT+R”。此法可修复一部分压缩包的常规错误,但是成功率不高。你可以试着连续修复几次。WinRAR的这个功能对压缩包里有很多文件且文件容量都比较小的情况比较适用。 
         办法二: 打开压缩包(不是解压,而是用WinRAR打开),选中你要解压缩的文件,单击鼠标右键,在弹出的菜单里选择“无需确认直接解压缩”,快捷键是“ALT+W”。用此方法,不管是好的压缩包还是坏的压缩包,统统畅行无阻,成功率100%!
         办法三:釜底抽薪法!

      其原理就是让RAR压缩包内损坏的文件解压缩出来,不理会WinRAR的警告,能解压多少就解压多少。解压缩软件还是用WinRAR,不过要做小小的设置。 

    在右键点击解压缩文件后跳出的窗口里,把“保留被损坏的文件”复选框选中,点击确定开始解压缩。不要理会解压缩出错的信息,解压缩结束之后你会发现损坏的文件被解压出来了。经过这样解压出来的损坏文件能正常使用的几率还是非常高的。

    做好保险工作
      1.做好恢复记录
      原始RAR压缩包在压缩时,如果选择放置恢复记录,这样用户下载后即使CRC出错也有自己修复的机会!

      2.采取分卷压缩
      采取分卷压缩的方法便可较大地减少因为出现不可恢复的错误带来的损失。

      3.老文件也加恢复记录
      有人也许会问,新压缩的RAR压缩包可以加入恢复记录,那么已经压缩过的RAR包有没有办法也加上恢复记录呢?给已经压缩好的RAR压缩包加上恢复纪录是有办法的。

      只需要打开压缩包,在“命令”菜单中选择“保护档案文件”即可。 

     
    小常识:
      其实RAR压缩包出错的解决方法主要是以预防为主!如果没有预防,等到真正出了问题,技术上也是没办法完美解决的!像循环冗余校验码(CRC)出错这种情况,如果RAR压缩包不包含恢复记录的话,用户自己想要修复CRC是不可能的!本文的主要目的是想告诉大家一些出错的原因以及讨论一些从根本上预防出错和把损失减少到最小的办法而已!

    附:
          1.CRC算法原理
    CRC是Cyclic Redundancy Code的缩写,翻译成中文就是“循环冗余码”,它采用多项式编码方法,是一种高效的差错控制方法。所谓的CRC32也就是32位的CRC算法,这就是前面介绍的SFV采用的算法。由于CRC算法编码和解码方法简单,检错和纠错能力强,因此在通信、卫星、控制等领域都有着广泛的应用,在我们的电脑中,也被广泛应用于压缩,光盘刻录、数据存储等方面。
    其实说到CRC,大家更多想到的就是压缩软件,因为许多朋友都遇到过压缩软件提示“CRC错误”,这实际上就是一种文件校验过程,只不过这个过程被自动化了:压缩软件在压缩文件时自动在压缩包内添加CRC校验信息,在解压缩时会自动对CRC进行校验,检查文件是否完整和正确。
    实战:CRC错误的解决方法
    现象一:最近WinRAR不论解压缩什么文件,都是提示“CRC 校验失败,文件被破坏”。
    解决方案:出现这种情况,可能是WinRAR的临时文件保存出现了问题,一般只需要打开系统临时目录(Windows 2000/XP下为\Documents and Settings\用户名\Local Settings\Temp),删除其中名为“Rar$DI00.*”之类的文件夹即可。
    现象二:刚下载的一个软件压缩包,使用WinRAR解压时提示某个文件“CRC 校验失败,文件被破坏”。
    解决方案:这种情况可以判断是那个压缩包出了问题,但很多情况下出现CRC错误时并不代表整个压缩包都已经坏掉,很可能只是某个文件有部分损坏。你可以尝试使用“命令”菜单中的“修复压缩文件”,一般可以解决部分CRC错误的问题。如果仍然不能解决,你可以尝试一下强制解压技巧:首先打开压缩包,选择除那个CRC错误文件以外的所有文件,先将正常的文件解压出来,然后解压那个出错的文件,当提示CRC错误信息时,不要点击任何确认按钮,打开“资源管理器”,找到解压后的文件保存路径,可以看到那个出错的文件实际已经被解压了,把它复制到其他文件保存的文件夹中,然后再试试看程序能否正常运行,很多情况下,如果这个文件不是可执行程序,对运行的影响不是很大。
    简单方便的WinRAR用户身份校验
    WinRAR本身除了具备CRC自动校验功能外,还为用户提供了专门的身份校验功能,可以帮助用户了解自己的压缩包是否被人修改过。
    实战:制作一个“只许用不许改”的压缩包

       在“资源管理器”中选择要压缩的文件,单击鼠标右键,选择“添加到压缩文件”,打开“压缩文件名和参数”窗口,勾选“压缩选项”中的“添加用户身份校验信息”选项,单击“确定”按钮生成压缩包。

         双击打开这个压缩包,可以在地址栏中看到“用户校验信息存在”的提示,单击菜单“命令→显示信息”打开对话框,在“用户身份校验信息”栏中可以看到该压缩包的文件名、创建者以及创建日期信息(见图1),记下这些信息,尤其是“创建者”中的信息。

        现在你可以把这个压缩包提供给接收方,并同时提供用户身份校验信息。当对方打开这个压缩包时,可以打开“显示信息”对话框,并与你提供的身份校验信息进行比对,如果完全一样的话,说明压缩包没有被修改过,如果身份校验信息不存在或者有了变化,则说明压缩包已经被修改过了。
    小提示
    该功能需要使用注册版的WinRAR,因为身份校验信息就是根据注册用户名来生成的,一个被添加了身份校验信息的压缩包被重新修改时,将丢失身份校验信息,这就是它的校验原理

    态度决定一切,技术改变生活作者:winzheng                                                                                                                                               
    出处:http://cnblogs.com/winzheng                                                                                                      
    本文为原创作品,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

     

     


     

    转载于:https://www.cnblogs.com/winzheng/archive/2008/01/22/1049133.html

    展开全文
  • 目前不少开发者在设置业务域名时,发现检查校验文件失败,可先按照如下步骤进行自查: 如果想保存的业务为https://test.com/,下载下来的校验文件为AbC.txt,则需要确保https://test.com/AbC.txt能够访问。 校验文件...
  • WINRAR -- CRC校验失败,文件被破坏

    千次阅读 2014-08-16 21:59:02
    下载了一个将近一G的软件,在解压时,提示“CRC校验失败,文件被破坏”,不至于再重新下载吧,需要好几个小时,这是用以下的办法通常可以不用理会rar的警告,把能解压的都解压出来。 办法一:WinRAR本身就带有...
  • QingYu_DL链接:https://blog.csdn.net/xyl295528322/article/details/25013841/来源:csdn博客昨天下载了一个将近一G的软件,在解压时,提示“CRC校验失败,文件被破坏”,不至于再重新下载吧,需要四个多小时呢,...
  •  昨天下载了一个将近一G的软件,在解压时,提示“CRC校验失败,文件被破坏”,不至于再重新下载吧,需要四个多小时呢,网上的方法也试了好多种,都不好用...  我采用的方法很简单:在没有解压完(提示出错的情况下...
  • 文件校验工具.exe

    2020-03-21 21:02:02
    到Maven仓库中找到疑似下载失败的jar包使用文件校验工具文件校验打开工具将要验证的jar包拖拽进工具界面比较SHA1值一致:确定jar包下载成功,内部正确没问题不一致:确定jar包内部损坏。
  •  昨天下载了一个将近一G的软件,在解压时,提示“CRC校验失败,文件被破坏”,不至于再重新下载吧,需要四个多小时呢,网上的方法也试了好多种,都不好用... 我采用的方法很简单:在没有解压完(提示出错的情况下)...
  • 按照文档下载校验文件 也放到了对应目录下,测试可以访问。。。。。保存不了,一直提示【校验文件检查失败】 找了好久的问题,发现是域名规则不能带端口号!!!
  • 笔者近2天在 Android Studio上玩了一下百度地图,碰到了常见的”230错误 APP Scode校验失败”,下面我来介绍一下具体的解决办法.  1.在andriodstudio上部署百度地图的规范.把下载下来的SDK解压,切换至Project视图....
  • 用户校验失败:原因是目录没有复制粘贴正确. 下面是刚刚下载的SDK目录: 下面的是自己Android工程中的目录:注意复制粘贴的文件路径要正确 转载于:https://www.cnblogs.com/Oldz/p/9620359.html...
  • <div><p>由于其它进程(有些情况下是另一个HMCL)在读写assets文件夹...导致下载资源文件失败,但是HMCL不报错;建议下载结束后再校验一次。</p><p>该提问来源于开源项目:huanghongxun/HMCL</p></div>
  • 部分项目编译时需要下载相关的MD5文件或者类似校验文件进行校验,但是由于网络原因可能会出现下载失败,最常见的原因是超时以及SLL不通过(和网络类型有关)。 解决方法: 视图-输出,根据输出报错找到下载失败的...
  • 从某地址下载数据文件及其MD5校验文件,特殊的是这个原始的校验文件(filename.md5.tmp)不是正常的校验文件,需要颠倒校验和和文件名。   执行以下shell来颠倒MD5文件中的两部分: Shell代码 awk -...
  • echostr校验失败,请您检查是否正确解密并输出明文 2. 解决办法 异常java.security.InvalidKeyException:illegal Key Size的解决方案: 在官方网站下载JCE无限制权限策略文件(请到官网下载对应的版本, 例如...
  • 遂看源码 发现它下载完成最后会校验response header里的"Content-Length"或者"Content-Range" 然后这破网站header长度和txt对不上就死活不能完成 虽然outputstream已经完成文件已经下下来了但是只会有error的回调 ...
  • 这个工具工作得非常好,不过有的时候由于网络问题,会有一些文件校验失败的,但apt-mirror并不能发现,等到最后装软件的时候发现校验错误,再去下载,太耽误时间,并且也不能一次性发现所有错误。 apt-mirror-...
  • Maven Jar下载失败

    2020-02-27 15:48:29
    目录1、没有下载成功1.1 具体情况1.2 原因1.3 脚本1.4 多次删除下载依旧是lastUpdated2、下载完成但是内部损坏2.1 问题2.2 文件校验3、HASH加密原理4、根据依赖信息定位jar包位置5、重新下载Jar包 1、没有下载成功 ...
  • 使用python下载哨兵1数据,对于下载失败文件,会在最后生成一组日志,我需要根据这个日志信息来对比源文件,把失败的数据,重新生成需要下载的数据csv。 解决方案: 当在下载报错的时候,就把这个文件名添加在...
  • 2014-04-23设置更新源:更新管理器 - 设置 - Ubuntu软件标签 - 下载自 设置为 “美国的服务器”sudo apt-get update 出现问题:写道正在读取软件包列表... 完成W: 校验签名出错。此仓库未被更新,仍然使用以前的索引...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 279
精华内容 111
关键字:

下载文件校验失败