golang 简单的登录操作 http

来源:互联网 发布:查询淘宝账号 编辑:程序博客网 时间:2024/05/17 08:40

主函数 main.go

// testHtmlLogin project main.gopackage mainimport ("fmt""io/ioutil""net/http""os". "github.com/soekchl/myUtils")var (change = make(map[string][]byte))func init() {loadHtml("login", "login.html")loadHtml("home", "home.html")}func main() {http.HandleFunc("/", home)http.HandleFunc("/login", Login)err := http.ListenAndServe(":8080", nil)if err != nil {Error(err)}}func home(w http.ResponseWriter, r *http.Request) {fmt.Fprintf(w, "%s", change["home"])}// 控制各个模块的 log输出开关func Login(w http.ResponseWriter, r *http.Request) {user := r.FormValue("user")passwd := r.FormValue("passwd")Notice("user=", user, " passwd=", passwd)if len(user) == 0 || len(passwd) == 0 {fmt.Fprintf(w, "%s", change["login"])} else {http.Redirect(w, r, "/", http.StatusFound) // 跳转回主页}}func loadHtml(key, file_name string) {info, err := readFile(file_name)if err != nil {Error(err)return}change[key] = info}func readFile(file_name string) ([]byte, error) {fi, err := os.Open(file_name)if err != nil {panic(err)}defer fi.Close()return ioutil.ReadAll(fi)}

启动程序先加载 html内容


home.html

<!DOCTYPE html><html lang="zh-ch"><head><meta charset="utf-8"><title>主页</title></head><body><a href="login">登录</a></body></html> 


login.html

<!DOCTYPE html><html lang="zh-ch"><head><meta charset="utf-8"><title>登录</title></head><body><form action="" method="post">用户名:<input type="text" name="user"><br>密码:<input type="password" name="passwd"><br><input type="submit" value="登 录"></form></body></html> 


启动程序  访问  http://localhost:8080/ 

原创粉丝点击