go 表单


package main
import (
	"fmt"
	"io"
	"net/http"
)

const form = `<html><body><form action="#" method="post" name="bar">
                    <input type="text" name="in"/>
                    <input type="text" name="in"/>
                     <input type="submit" value="Submit"/>
             </form></html></body>`

func SimpleServer(w http.ResponseWriter, request *http.Request) {
	n, err := io.WriteString(w, "<h1>hello, world</h1>")
	if err != nil{
		fmt.Println(n)
	}
}

func FormServer(w http.ResponseWriter, request *http.Request) {
	w.Header().Set("Content-Type", "text/html")
	switch request.Method {
	case "GET":
		io.WriteString(w, form)
	case "POST":
		request.ParseForm()
		io.WriteString(w, request.Form["in"][0])
		io.WriteString(w, "
ss")
		io.WriteString(w, request.FormValue("in"))
	}
}

func Test(w http.ResponseWriter, r *http.Request){
	fmt.Println("handler hello")
	n, err := fmt.Fprintf(w, "hello world!")
	fmt.Println(n)
	if err != nil{
		fmt.Println("write error:", n)
	}
}

func main() {
	http.HandleFunc("/", Test)
	http.HandleFunc("/test1", SimpleServer)
	http.HandleFunc("/test2", FormServer)
	if err := http.ListenAndServe("127.0.0.1:80", nil); err != nil {
		fmt.Println("http listen eror")
	}
}

原文地址:https://www.cnblogs.com/lajiao/p/10895731.html