1

ファイルをダウンロードするためにFTPサーバーにリクエストを送信するのに助けが必要です...HTTPを使用してファイルをダウンロードするために次のコードを記述しましたが、正常に機能しますが、FTPの方法がわかりません.....私は接続を確立するためにソケットを使用しましたが、この方法で行う必要があります。FTPファイルをダウンロードするための(サーバーに送信する)要求の形式を教えてください......

///////////////////////////コーディング////////////////////// //////////////////////////////////

 URL url_of_file=new URL("http://fs36.filehippo.com/4281/856e12e1656d480da79ef2b40581f75e/npp.6.2.Installer.exe");
       String hostaddress=url_of_file.getHost();

       Socket mysocket3 = new java.net.Socket();

    //create socket to server for HTTP use port 80 for FTP use 21 //

       mysocket3.connect(new InetSocketAddress(hostaddress,80));


        OutputStream os = mysocket3.getOutputStream();
         int file_size=5860557;

       //REQUEST Formate for HTTP ..........//

         String getRequest = "GET " + url_of_file + " HTTP/1.1\r\n" +            
            "Host: "+ hostaddress + "\r\n" + 
            "Range: bytes=0-"+file_size+" \r\n\r\n";  

         os.write(getRequest.getBytes("UTF-8"));

        os.flush();
        InputStream in = mysocket3.getInputStream();



        // 2. Recieving the  data,..............
4

2 に答える 2

5

FTPはHTTPとは異なるプロトコルです。FTPには「GET」リクエストはありません。要求と応答がどのように見えるかを理解するには、RFC959FTP仕様をお読みください。

Javaの観点からは、 org.apache.commons.net.ftp.FTPClientを試すことができます。

于 2012-10-21T07:14:58.757 に答える
0

org.apache.commons.net.ftp.FTPClientを使用できます

FTPClient f = new FTPClient();
f.connect(server);
f.login(username, password);
于 2012-10-21T07:18:24.697 に答える