检查是否可以用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

无法通过执行扫描头来解决问题......并设法用HTTP 404错误解决问题....在没有文件下载的地方,它会生成此错误EIDHTTPPROTOCOLEXETION ...问题已是解决....

其他提示

抓住 EIdHTTPProtocolException 这是你应该做的。请记住,Indy是专门设计用于使用异常进行错误报告的。 EIdHTTPProtocolException 是如何 TIdHTTP 从服务器报告特定于HTTP的错误(任何其他类型的异常意味着套接字或RTL有问题,可以重试HTTP请求)。您得到该异常的事实意味着服务器无法按请求传递文件,因此除非您知道这是可恢复的错误,否则通常不应重试。检查异常 ErrorCode 是可选的,但如果您确实需要区分特定错误,则可用。

如果您只想看服务器上存在文件,请使用tidhttp.head。此功能只需从等效的呼叫中返回的标题,而不是数据本身。然后,您可以检查标题以查看该文件是否存在并决定下一步该做什么。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top