检查是否可以使用delphi下载文件

时间:2014-01-11 16:41:21

标签: delphi idhttp

检查是否可以使用delphi下载文件

美好的一天......我开始使用Delphi,我正在创建一个从HTTP下载文件的程序......

我正在使用:

IdHTTP.Get (URL FileDownload)

但我的程序在无法下载文件时会产生错误...

例如:http://exemplo.com/ - >生成错误

例如:http://exemplo.com/meudownload.ts - >下载

我想更正此错误,如何检查是否可以下载该文件或是否正在降低该文件...

我使用EIdHTTPProtocolExeption但只检查HTML错误,例如:404,300 ......并且不是我想要的......

我想看看您是否可以下载该文件,或者是否正在下载该文件......

如果发生这种情况,我会下载其他文件:

donw_1.ts,down_2.TS,down_3.TS ......然后当他获得无法下载的存档时,我有了取消循环的答案......

3 个答案:

答案 0 :(得分:6)

抓住EIdHTTPProtocolException就是你应该做的。请记住,Indy专门用于利用错误报告的异常。 EIdHTTPProtocolExceptionTIdHTTP报告来自服务器的HTTP特定错误的方式(任何其他类型的异常意味着套接字或RTL出现问题并且可以重试HTTP请求)。您获得该异常这一事实意味着服务器无法按要求提供文件,因此您通常不应重试,除非您知道它是可恢复的错误。检查异常ErrorCode是可选的,但如果您确实需要区分特定错误,则可以使用。

答案 1 :(得分:2)

如果您只想查看服务器上是否存在文件,请使用TIdHTTP.Head。此函数只下载从等效的Get调用返回的标头,但不下载数据本身。然后,您可以检查标题以查看该文件是否存在,并决定下一步该做什么。

答案 2 :(得分:0)

无法通过扫描HEAD解决问题...并设法解决HTTP 404错误的问题....在没有文件下载的情况下生成此错误EIdHTTPProtocolExeption ...问题已解决已经解决....