FTPサーバは、クライアントからのコマンドに対し、レスポンスコードを返します。レスポンスコードは、正常な場合、200番台(例:"200 Command okay.")の値です。
したがって、実行エラー110h(2XX 以外の応答を受け取りました)は、FTPサーバが、異常を示すレスポンスを返したことを意味しています。
BHTでは、FTPサーバから受け取ったレスポンスコードは、実行エラーが発生した関数の戻り値REPLY%に格納されています。REPLY%の値を確認し、レスポンスコードの意味を確認してください。 その上で、FTPサーバのログを調査し、エラーの原因を特定してください。
レスポンスコードの意味は、RFC959の他、一般の参考文献を参照してください。
対処方法は、レスポンスコードによって異なります。また、FTPサーバの仕様によっても異なります。
基本的にレスポンスコード4XXは、一時的なエラー発生を示しますので、ファイル転送をリトライすれば解消できる可能性が高いです。しかし、421h(Service not available, closing control connection. This may be a reply to any command if the service knows it must shut down.)のように、ログアウトをともなうこともあり、この場合は再度FTPログインからリトライする必要があります。
また、FTPサーバの仕様によっては、4XXや5XXのエラーでログアウトされることもあり、その場合も、再度FTPログインからリトライする必要があります。
よくある事例として、以下のような場合がありますので、参考にしてください。
レスポンスコード (REPLY%) | エラーの意味 | 原因の一例 |
---|---|---|
425h | Can't open data connection. | ファイヤウォールでブロックされた |
426h | Connection closed; transfer aborted. | ファイル転送中にタイムアウトした等の理由により、データ接続を閉じ転送を中断した。 FTPサーバソフト毎に挙動が異なるため、FTPサーバの動作仕様を確認してください。 |
550h | Requested action not taken. File unavailable (e.g., file not found, no access). |
要求された処理が実行されなかった。 |