Tôi có chương trình golang đơn giản sau để tải xuống chính sách bảo mật của Google. Thật không may, nó luôn luôn bị lỗi với lỗi unexpected EOF
sau khi đọc 6861 byte, mặc dù tài liệu dài hơn nhiều. Tại sao?Đi: EOF bất ngờ khi đọc từ ổ cắm
package main
import "net"
import "fmt"
import "io"
import "os"
func die(msg string, s os.Error) {
fmt.Printf("%s crashed: %v\n", msg, s)
os.Exit(1)
}
func main() {
fd, err := net.Dial("tcp", "google.com:80")
if err != nil { die("dial", err) }
req := []byte("GET /intl/en/privacy/ HTTP/1.0\r\nHost: www.google.com\r\n\r\n")
_, err = fd.Write(req)
if err != nil { die("dial write", err) }
buf := make([]byte, 1024)
nr := 1
for nr > 0 {
nr, err = io.ReadFull(fd, buf)
if err != nil { die("dial read", err) }
fmt.Printf("read %d\n", nr)
}
}
kết quả đầu ra:
read 1024
read 1024
read 1024
read 1024
read 1024
read 1024
dial read crashed: unexpected EOF