문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
java:ftp [2019/03/17 11:31] kwon37xi |
java:ftp [2019/03/22 17:17] (현재) kwon37xi [Passive Mode] |
||
|---|---|---|---|
| 줄 2: | 줄 2: | ||
| * [[: | * [[: | ||
| * [[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:// | * [[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:// | ||