commit
5a8b8eeb12
24
ftp.go
24
ftp.go
@ -94,6 +94,12 @@ func DialTimeout(addr string, timeout time.Duration) (*ServerConn, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err = c.setUTF8()
|
||||
if err != nil {
|
||||
c.Quit()
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return c, nil
|
||||
}
|
||||
|
||||
@ -164,6 +170,24 @@ func (c *ServerConn) feat() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// setUTF8 issues an "OPTS UTF8 ON" command.
|
||||
func (c *ServerConn) setUTF8() error {
|
||||
if _, ok := c.features["UTF8"]; !ok {
|
||||
return nil
|
||||
}
|
||||
|
||||
code, message, err := c.cmd(-1, "OPTS UTF8 ON")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if code != StatusCommandOK {
|
||||
return errors.New(message)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// epsv issues an "EPSV" command to get a port number for a data connection.
|
||||
func (c *ServerConn) epsv() (port int, err error) {
|
||||
_, line, err := c.cmd(StatusExtendedPassiveMode, "EPSV")
|
||||
|
Loading…
Reference in New Issue
Block a user