73-golang简单http服务器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33781658/article/details/84586698


搭建一下简单的
http服务器

我们来搞一个服务器
当访问对应的文件夹下的文件的时候
我们就打开这个文件

我们先写一个简单的
监听根目录


func main() {

	//注册监听"/"根目录
	http.HandleFunc("/", handlerFunc)

	//开启监听服务
	http.ListenAndServe("127.0.0.1:8080", nil)
}

//处理根目录请求
func handlerFunc(writer http.ResponseWriter, request *http.Request) {
	str := "hello world"
	writer.Write([]byte(str))
}



然后我们开启另一个监听
然后访问对应目录的文件


func main() {

	//注册监听"/"根目录
	http.HandleFunc("/", handlerFunc)

	//注册监听test
	http.HandleFunc("/test/", testFunc)

	//开启监听服务
	http.ListenAndServe("127.0.0.1:8080", nil)
}

func testFunc(writer http.ResponseWriter, request *http.Request) {
	//获取url
	url := request.URL.String()
	fmt.Println("url:", url)

	//打开对应目录的file文件
	file, _ := os.Open("f:" + url)

	//创建arr切片
	arr := make([]byte, 1024)

	//循环读取并写入到客户端
	for {
		num, err := file.Read(arr)
		writer.Write(arr[:num])
		if err == io.EOF {
			break
		}
	}
}

//处理根目录请求
func handlerFunc(writer http.ResponseWriter, request *http.Request) {
	str := "hello world"
	writer.Write([]byte(str))
}



猜你喜欢

转载自blog.csdn.net/qq_33781658/article/details/84586698