Documentation
¶
Overview ¶
Package ftp implements a FTP client as described in RFC 959.
Index ¶
- Constants
- type Entry
- type EntryType
- type ServerConn
- func (c *ServerConn) ChangeDir(path string) error
- func (c *ServerConn) ChangeDirToParent() error
- func (c *ServerConn) CurrentDir() (string, error)
- func (c *ServerConn) Delete(path string) error
- func (c *ServerConn) List(path string) (entries []*Entry, err error)
- func (c *ServerConn) Login(user, password string) error
- func (c *ServerConn) Logout() error
- func (c *ServerConn) MakeDir(path string) error
- func (c *ServerConn) NameList(path string) (entries []string, err error)
- func (c *ServerConn) NoOp() error
- func (c *ServerConn) Quit() error
- func (c *ServerConn) RemoveDir(path string) error
- func (c *ServerConn) Rename(from, to string) error
- func (c *ServerConn) Retr(path string) (io.ReadCloser, error)
- func (c *ServerConn) Stor(path string, r io.Reader) error
Constants ¶
const ( // Positive Preliminary reply StatusInitiating = 100 StatusRestartMarker = 110 StatusReadyMinute = 120 StatusAlreadyOpen = 125 StatusAboutToSend = 150 // Positive Completion reply StatusCommandOK = 200 StatusCommandNotImplemented = 202 StatusSystem = 211 StatusDirectory = 212 StatusFile = 213 StatusHelp = 214 StatusName = 215 StatusReady = 220 StatusClosing = 221 StatusDataConnectionOpen = 225 StatusClosingDataConnection = 226 StatusPassiveMode = 227 StatusLongPassiveMode = 228 StatusExtendedPassiveMode = 229 StatusLoggedIn = 230 StatusLoggedOut = 231 StatusLogoutAck = 232 StatusRequestedFileActionOK = 250 StatusPathCreated = 257 // Positive Intermediate reply StatusUserOK = 331 StatusLoginNeedAccount = 332 StatusRequestFilePending = 350 // Transient Negative Completion reply StatusNotAvailable = 421 StatusCanNotOpenDataConnection = 425 StatusTransfertAborted = 426 StatusInvalidCredentials = 430 StatusFileActionIgnored = 450 StatusActionAborted = 451 Status452 = 452 // Permanent Negative Completion reply StatusBadCommand = 500 StatusBadArguments = 501 StatusNotImplemented = 502 StatusBadSequence = 503 StatusNotImplementedParameter = 504 StatusNotLoggedIn = 530 StatusStorNeedAccount = 532 StatusPageTypeUnknown = 551 StatusExceededStorage = 552 StatusBadFileName = 553 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ServerConn ¶
type ServerConn struct {
// contains filtered or unexported fields
}
ServerConn represents the connection to a remote FTP server.
func Connect ¶
func Connect(addr string) (*ServerConn, error)
Connect initializes the connection to the specified ftp server address.
It is generally followed by a call to Login() as most FTP commands require an authenticated user.
func (*ServerConn) ChangeDir ¶
func (c *ServerConn) ChangeDir(path string) error
ChangeDir issues a CWD FTP command, which changes the current directory to the specified path.
func (*ServerConn) ChangeDirToParent ¶
func (c *ServerConn) ChangeDirToParent() error
ChangeDirToParent issues a CDUP FTP command, which changes the current directory to the parent directory. This is similar to a call to ChangeDir with a path set to "..".
func (*ServerConn) CurrentDir ¶
func (c *ServerConn) CurrentDir() (string, error)
CurrentDir issues a PWD FTP command, which Returns the path of the current directory.
func (*ServerConn) Delete ¶
func (c *ServerConn) Delete(path string) error
Delete issues a DELE FTP command to delete the specified file from the remote FTP server.
func (*ServerConn) List ¶
func (c *ServerConn) List(path string) (entries []*Entry, err error)
List issues a LIST FTP command.
func (*ServerConn) Login ¶
func (c *ServerConn) Login(user, password string) error
Login authenticates the client with specified user and password.
"anonymous"/"anonymous" is a common user/password scheme for FTP servers that allows anonymous read-only accounts.
func (*ServerConn) Logout ¶
func (c *ServerConn) Logout() error
Logout issues a REIN FTP command to logout the current user.
func (*ServerConn) MakeDir ¶
func (c *ServerConn) MakeDir(path string) error
MakeDir issues a MKD FTP command to create the specified directory on the remote FTP server.
func (*ServerConn) NameList ¶
func (c *ServerConn) NameList(path string) (entries []string, err error)
NameList issues an NLST FTP command.
func (*ServerConn) NoOp ¶
func (c *ServerConn) NoOp() error
NoOp issues a NOOP FTP command. NOOP has no effects and is usually used to prevent the remote FTP server to close the otherwise idle connection.
func (*ServerConn) Quit ¶
func (c *ServerConn) Quit() error
Quit issues a QUIT FTP command to properly close the connection from the remote FTP server.
func (*ServerConn) RemoveDir ¶
func (c *ServerConn) RemoveDir(path string) error
RemoveDir issues a RMD FTP command to remove the specified directory from the remote FTP server.
func (*ServerConn) Rename ¶
func (c *ServerConn) Rename(from, to string) error
Rename renames a file on the remote FTP server.
func (*ServerConn) Retr ¶
func (c *ServerConn) Retr(path string) (io.ReadCloser, error)
Retr issues a RETR FTP command to fetch the specified file from the remote FTP server.
The returned ReadCloser must be closed to cleanup the FTP data connection.