3

ごきげんよう。

私はこの奇妙な問題を抱えています。現在取り組んでいるプロジェクトでは、ファイルを FTP サイトにアップロードする必要があります。私は以前にこれを行う多くのプログラムを作成しましたが、それらは問題なく機能しました。しかし、この特定のサイトは私に問題を引き起こしています. プログラムからファイルをアップロードしようとすると、次のようになります。

java.net.UnknownHostException: ftp://site.com

ただし、ブラウザー (Chrome、IE) または Windows エクスプローラーから同じサイトに接続しようとすると、サイトを見つけて問題なくログインできます。写真を投稿するのにうんざりしましたが、初心者なので投稿できませんでした。

だから私は今困惑しています。Windows から接続できなかった場合は、FTP サーバーの問題であると推測できます。これは、Java プログラムからのみ発生します。また、これまで何度も使用してきたように、コードが機能することも知っています。私が使用するコードは次のとおりです。


public void uploadFile(String fileName) throws Exception {
        FileTransferClient ftpClient = null;

        try {
            ftpClient = new FileTransferClient();
            ftpClient.setRemoteHost(gv.ftpHost);
            ftpClient.setRemotePort(21);
            ftpClient.setUserName(gv.ftpUserName);
            ftpClient.setPassword(gv.ftpPassword);
            ftpClient.getAdvancedFTPSettings().setConnectMode(FTPConnectMode.PASV);
            ftpClient.connect();

            ftpClient.uploadFile(gv.irp + fileName, fileName, WriteMode.OVERWRITE);
        }
        catch (Exception e) {
            throw new Exception("Error occured in uploadFile()\n" + e);
        }
        finally {
            if (ftpClient != null) {
                if (ftpClient.isConnected()) {
                    ftpClient.disconnect();
                }
                ftpClient = null;
            }
        }
    }

edtFTPj ライブラリを使用します。私の環境は、Windows 7 64 ビット マシンで実行されている Java 1.6 (32 ビット) 上の Eclipse Helios (32 ビット) です。

これを解決するための洞察は大歓迎です。御時間ありがとうございます。

4

2 に答える 2

9

メッセージ

java.net.UnknownHostException: ftp: //site.com

「 ftp://site.com 」という名前のホストへの接続を開こうとしていることを強く示唆しています。これは残念ながら、ホスト名ではなくURLであるため、見つかりません。

「site.com」に接続するようにコードを変更してみてください。

于 2010-11-19T17:33:32.297 に答える
1

これUnknownHostExceptionは、Javaネットワークライブラリが、DNSルックアップを実行して、提供されたホスト名をIPアドレスに変換できないことを意味します。

ブラウザ用に何らかのプロキシサーバーを設定していますか?私が考えることができるのは、一部のアプリケーション(ブラウザー)がホスト名を解決でき、他のアプリケーション(Java)が解決できない場合は、代替のネットワーク構成をセットアップする必要があるということだけです。

Javaのプロキシ設定を構成するにはどうすればよいですか?を参照してください。Javaプロセスのプロキシを設定する必要がある場合。

于 2010-11-19T17:28:29.393 に答える