2013-09-27 25 views
2

我知道标题听起来很熟悉,但是知道我无法找到任何适合我所做事情的东西。这是代码,我一直在努力,到目前为止:设置使用wget下载图片的最长时间

t = timer('TimerFcn', 'return;', 'StartDelay', 10); 
     downloaded=false; 
     start(t) 
     while(downloaded==false) 
       url = (urlsCell{Pool(l)}); 
       command = [wgetPath, ' --timeout=10 -nv -P ']; 
       outputFolder = [tmpDir, ' ']; 
       cmd = [command, outputFolder, url]; 
       system(cmd); 
       downloaded=true; 
     end 

基本上,我循环单元阵列urlsCell,包含URL列表,选择一个随机URL并将它传递给wget下载一个图像上。

在我的意图中,这段代码应该等待最多10秒试图下载图片,如果花费更长时间,则跳到下一个URL。 但是,经常发生程序停止,等待时间远远超过10秒。

+0

编辑您的文章将其降低到一个单一的问题。下面是我删除的内容,考虑提出一个新问题: 第二个问题是它有时会卡住,返回以下行: *在标题中读取错误(由对等方重置连接)* 并且它只在我做时才会继续ctrl + c,停止当前wget。 下载完图像后,程序检查它是否为.jpg/.JPG文件,以及MatLab是否可以通过imread读取图像。如果两个测试顺利进行,图像将被移动到一个目录;下载图像直到目录包含n个好图像(.jpg/.JPG和matlab可读)。 –

回答

0

的wget重试默认:

--tries =号 重于数量的集数。指定0或inf为无限 重试。缺省值是重试20次,但例外 的致命错误(如“连接被拒绝”或“未找到”(404), )未被重试。

所以加在

--tries = 1

一个一次性的尝试