IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> go学习 --- web的form截取登陆信息 -> 正文阅读

[网络协议]go学习 --- web的form截取登陆信息

一、form截取登陆信息

package main

import (
	"fmt"
	"html/template"
	"log"
	"net/http"
	"net/url"
	"strings"
)
//定义一个函数
func Hello(w http.ResponseWriter,r *http.Request)  {
	//解析url传递的参数,post请求则解析响应包的主体
	r.ParseForm()
	//获取表单数据
	fmt.Println(r.Form)
	//获取url的路径
	fmt.Println("path",r.URL.Path)
	fmt.Println("scheme",r.URL.Scheme)
	fmt.Println(r.Form["url_long"])
	v := url.Values{}
	v.Set("name","Tom")
	v.Add("friend","Jess")
	v.Add("friend","Zoe")
	fmt.Println(v.Get("name"))
	fmt.Println(v.Get("friend"))
	fmt.Println(v["friend"])
	for key, value := range r.Form {
		fmt.Println("key:",key)
		fmt.Println("val:",strings.Join(value,""))
	}
	fmt.Fprintf(w,"Hello my route")
}
func login(w http.ResponseWriter,r *http.Request)  {
	//获取请求方法
	fmt.Println("method:",r.Method)
	r.ParseForm()
	if r.Method == "GET" {
		files, err := template.ParseFiles("D:/goproject/src/webDemo/http/form/login.html")
		if err != nil {
			panic(err)
		}
		files.Execute(w,nil)
	}else {
		//请求登录数据
		fmt.Println("username:",r.Form["username"])
		fmt.Println("password",r.Form["password"])
	}
}
func main() {
    //设置访问路由
    http.HandleFunc("/hello",Hello)
	//设置访问路由
	http.HandleFunc("/login",login)
    //设置监听的端口
	err := http.ListenAndServe(":8080", nil)
	if err != nil {
		log.Fatal("ListenAndServe:",err)
	}
}

二、登陆页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录界面</title>
</head>
<body>
<form action="http://127.0.0.1:8080/login" method="post">
    用户名:<input type="text" name="username"><br>
    密&nbsp&nbsp&nbsp码:<input type="password" name="password"><br>
    <input type="submit" value="登陆">
</form>
</body>
</html>

?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-05 22:01:53  更:2022-02-05 22:02:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:20:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码