문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
java:ftp [2019/03/17 11:30] kwon37xi 만듦 |
java:ftp [2019/03/22 17:17] kwon37xi [Passive Mode] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Java FTP ====== | ====== Java FTP ====== | ||
- | * [[: | + | * [[: |
* [[https:// | * [[https:// | ||
+ | ===== apache commons net FTPClient ===== | ||
+ | * [[https:// | ||
+ | * '' | ||
+ | * [[https:// | ||
+ | * '' | ||
+ | ===== Passive Mode ===== | ||
+ | * FTP는 port 를 21번 명령전송 포트 22번 데이터 전송 포트 두개를 여는데, 이 중에 포트 한개만 열려있을 때 passive 모드로 변경한다. | ||
+ | <code java> | ||
+ | FTPClient.enterLocalPassiveMode(); | ||
+ | </ | ||
+ | |||
+ | ===== Binary File 전송 ===== | ||
+ | <code java> | ||
+ | FTPClient.setFileType(FTP.BINARY_FILE_TYPE); | ||
+ | </ | ||
+ | ===== MockFtpServer ===== | ||
+ | * [[http:// | ||
+ | |||
+ | <code java> | ||
+ | public class FtpClientIntegrationTest { | ||
+ | |||
+ | private FakeFtpServer fakeFtpServer; | ||
+ | |||
+ | private FtpClient ftpClient; | ||
+ | |||
+ | @Before | ||
+ | public void setup() throws IOException { | ||
+ | fakeFtpServer = new FakeFtpServer(); | ||
+ | fakeFtpServer.addUserAccount(new UserAccount(" | ||
+ | |||
+ | FileSystem fileSystem = new UnixFakeFileSystem(); | ||
+ | fileSystem.add(new DirectoryEntry("/ | ||
+ | fileSystem.add(new FileEntry("/ | ||
+ | fakeFtpServer.setFileSystem(fileSystem); | ||
+ | fakeFtpServer.setServerControlPort(0); | ||
+ | |||
+ | fakeFtpServer.start(); | ||
+ | |||
+ | ftpClient = new FtpClient(" | ||
+ | ftpClient.open(); | ||
+ | } | ||
+ | |||
+ | @After | ||
+ | public void teardown() throws IOException { | ||
+ | ftpClient.close(); | ||
+ | fakeFtpServer.stop(); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
===== 참조 ===== | ===== 참조 ===== | ||
+ | * [[https:// | ||
* [[https:// | * [[https:// | ||