[Go] 使用net包作为tcp客户端读取http

前端之家收集整理的这篇文章主要介绍了[Go] 使用net包作为tcp客户端读取http前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.tcp的客户端,并且直接读取http协议的全部内容,每次读取4096字节,直到最后一个字节是\n并且读取的长度小于4096

    conn,err := net.Dial("tcp",www.baidu.com:80")
    if err != nil {
        log.Fatal(err)
    }
    _,err = conn.Write([]byte(GET / HTTP/1.1\r\n\r\n))
     nil {
        log.Fatal(err)
    }
    var httpBody string
    var httpSize int
    for {
        b := make([]byte,128,1)">4096)
        len,err := conn.Read(b)
         nil {
            log.Fatal(err)
        }
        httpBody += (b[:len])
        httpSize += len
        if b[len-1] == '\n' && len <  {
            break
        }
    }
    log.Println(httpBody,httpSize)

 

猜你在找的Go相关文章