Delphiでファイルをダウンロードできるかどうかを確認してください
質問
Delphi
でファイルをダウンロードできるかどうかを確認してください良い日...私はDelphiで始まり、私はhttpからファイルをダウンロードするためのプログラムを作成しています...
私は使っています:
IdHTTP.Get (URL FileDownload)
.
しかし私のプログラムはファイルをダウンロードできないときにエラーを生成します...
ex:> http://exemplo.com/ - >エラー
を生成ex: http://exemplo.com/meudownload.ts - >ダウンロード
このエラーを修正したいのですが、ファイルをダウンロードすることができれば、または下げられている場合はチェックすることができますか...
EIdHTTPProtocolExeption
を使用しましたが、次のようなHTMLエラーのみを確認します.404,300 ...と私が望むわけではありません...
ファイルをダウンロードできるかどうか、またはダウンロードされている場合は確認したいのですが...
これが起こるならば、他のファイルをダウンロードします:
donw_1.ts、down_2.ts、down_3.ts ...それで彼がダウンロードすることができないエルアーカイブを取得するとき、私はループをキャンセルするための答えを持っています...
解決 3
スキャンヘッドを実行して問題を解決できません。解決された....
他のヒント
EIdHTTPProtocolException
をキャッチすることがあなたがやっているべきことです。Indyはエラー報告の例外を利用するように特別に設計されていることを忘れないでください。EIdHTTPProtocolException
は、TIdHTTP
がサーバーからHTTP固有のエラーを報告する方法です(他のタイプの例外はソケットまたはRTLのいずれかの例を意味し、HTTPリクエストを再試行することができます)。その例外を得ることを意味する単なる事実は、サーバーが要求されたようにファイルを配信できなかったことを意味します。Exception ErrorCode
をチェックすることはオプションですが、あなたが本当に特定のエラーを区別する必要がある場合に利用可能です。
ファイルがサーバー上に存在するかどうかを確認したい場合は、tidhttp.headを使用してください。この関数は、同等のGET呼び出しから返されたであろうヘッダーをダウンロードしますが、データ自体ではダウンロードします。その後、ヘッダーを確認してファイルが存在するかどうかを確認して、次の方法を決定できます。