golang 连接ftp服务器
时间: 2023-07-05 10:32:56 浏览: 77
在Go语言中,可以使用标准库中的net包和ftp包来连接FTP服务器。
下面是一个简单的示例代码,用于连接FTP服务器并列出指定目录下的文件列表:
```go
package main
import (
"fmt"
"net"
"net/textproto"
)
func main() {
// 连接FTP服务器
conn, err := net.Dial("tcp", "ftp.example.com:21")
if err != nil {
fmt.Println("连接失败:", err)
return
}
// 创建FTP客户端
client := textproto.NewConn(conn)
// 登录FTP服务器
_, err = client.Cmd("USER username")
if err != nil {
fmt.Println("登录失败:", err)
return
}
_, err = client.Cmd("PASS password")
if err != nil {
fmt.Println("登录失败:", err)
return
}
// 列出指定目录下的文件列表
_, err = client.Cmd("CWD /path/to/directory")
if err != nil {
fmt.Println("切换目录失败:", err)
return
}
response, err := client.Cmd("LIST")
if err != nil {
fmt.Println("获取文件列表失败:", err)
return
}
fmt.Println("文件列表:")
fmt.Println(response)
// 关闭连接
client.Close()
}
```
在上面的示例代码中,我们首先使用net包中的Dial函数连接FTP服务器。然后使用textproto包中的NewConn函数创建FTP客户端,通过USER和PASS命令登录FTP服务器。接着使用CWD和LIST命令切换目录并获取文件列表。最后使用Close函数关闭连接。
需要注意的是,在实际使用中还需要对命令返回的响应进行解析和处理。此外,还需要对连接和命令执行过程中出现的错误进行处理。