发布时间:2024-11-05 14:48:36
```go package main import ( "fmt" "html/template" "log" "net/http" ) func loginHandler(w http.ResponseWriter, r *http.Request) { if r.Method == "GET" { tmpl, err := template.ParseFiles("login.html") if err != nil { log.Fatal(err) } err = tmpl.Execute(w, nil) if err != nil { log.Fatal(err) } } else if r.Method == "POST" { r.ParseForm() username := r.Form.Get("username") password := r.Form.Get("password") // TODO: 验证用户名和密码是否正确,这里只是示例代码 if username == "admin" && password == "password" { fmt.Fprintf(w, "Hello, %s!", username) } else { fmt.Fprintln(w, "Invalid username or password") } } } func main() { http.HandleFunc("/login", loginHandler) log.Fatal(http.ListenAndServe(":8080", nil)) } ```
该代码定义了一个 loginHandler 函数,用于处理登录请求。当收到 GET 请求时,该函数会解析 login.html 文件,并将其渲染为响应的 HTML 页面;当收到 POST 请求时,该函数会获取用户输入的用户名和密码,并验证其正确性,然后返回对应的结果。```html
注意:实际开发中,为了安全性考虑,建议将用户名和密码存储在数据库中,使用哈希函数进行加密,并采取其他安全措施。