// Mynet project main.go
package main
import (
"fmt"
"io/ioutil"
"net"
"os"
)
func main() {
str := "user.qzone.qq.com:443"
tcpaddr, err := net.ResolveTCPAddr("", str)
if err != nil {
fmt.Println("net ResolveTCPAddr error! ", err.Error())
os.Exit(-1)
}
fmt.Println("str tcpaddr = ", tcpaddr.String())
fmt.Println("str Network = ", tcpaddr.Network())
conn, err := net.DialTCP("tcp4", nil, tcpaddr)
if err != nil {
fmt.Println("net DialTcp Error!", err.Error())
}
defer conn.Close()
blen, err := conn.Write([]byte("HEAD / HTTP/1.0 \r\n\r\n"))
if err != nil {
fmt.Println("err = ", err.Error())
}
fmt.Println("blen = ", blen)
result, err := ioutil.ReadAll(conn)
if err != nil {
fmt.Println("ReadAll error: ", err.Error())
}
fmt.Println("result = ", string(result))
fmt.Println(conn.LocalAddr())
fmt.Println(conn.RemoteAddr())
}
编译输出
C:/Go/bin/go.exe build -i [D:/golang/src/Mynet]
成功: 进程退出代码 0.
D:/golang/src/Mynet/Mynet.exe [D:/golang/src/Mynet]
str tcpaddr = 183.3.226.59:443
str Network = tcp
blen = 20
result = HTTP/1.1 400 Bad Request
Server: stgw/1.3.2.1_1.11.1
Date: Thu, 08 Feb 2018 13:27:25 GMT
Content-Type: text/html
Content-Length: 278
Connection: close
192.168.93.138:61757
183.3.226.59:443
成功: 进程退出代码 0.