go tcp发送网络请求

//发送http请求
package main

import (
	"fmt"
	"net"
	"io"
)

func main () {
	//使用Dial建立连接
	conn, err := net.Dial("tcp", "www.baidu.com:80")
	if err != nil {
		fmt.Println("error dialing", err.Error())
		return
	}

	defer conn.Close()

	msg := "GET / HTTP/1.1\r\n"
	msg += "Host:www.baidu.com\r\n"
	msg += "Connection: close\r\n"
	msg += "\r\n\r\n"

	_, err = io.WriteString(conn, msg)

	if err != nil {
		fmt.Println("write string failed", err)
		return
	}

	buf := make([]byte, 4096)

	for {
		count, err := conn.Read(buf)

		if err != nil {
			break
		}

		fmt.Println(string(buf[0:count]))
	}
}

  

猜你喜欢

转载自www.cnblogs.com/zhangxiaoj/p/11279061.html