代码拉取完成,页面将自动刷新
package main
import (
"bufio"
"fmt"
"io"
"log"
"net"
"strings"
)
func handleConn(conn net.Conn) {
defer conn.Close()
scanner := bufio.NewScanner(conn)
i := 0
for scanner.Scan() {
ln := scanner.Text()
fmt.Println(ln)
if i == 0 {
method := strings.Fields(ln)[0]
fmt.Println("METHOD", method)
} else {
// in headers now
// when line is empty, header is done
if ln == "" {
break
}
}
i++
}
// response
body := `
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form method="POST">
<input type="text" name="key" value="">
<input type="submit">
</form>
</body>
</html>
`
io.WriteString(conn, "HTTP/1.1 200 OK\r\n")
fmt.Fprintf(conn, "Content-Length: %d\r\n", len(body))
io.WriteString(conn, "\r\n")
io.WriteString(conn, body)
}
func main() {
server, err := net.Listen("tcp", ":9000")
if err != nil {
log.Fatalln(err.Error())
}
defer server.Close()
for {
conn, err := server.Accept()
if err != nil {
log.Fatalln(err.Error())
}
go handleConn(conn)
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。