Go语言 获取get、post参数

本文详细介绍了HTTP请求中表单数据的解析方法,包括GET和POST参数的获取方式,以及如何处理多部件表单和重复字段名的情况。通过实例展示了如何使用Go语言的标准库进行操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先看官方文档 对 Form 、PostForm、MutipartForm 注释讲解

    // Form是解析好的表单数据,包括URL字段的query参数和POST或PUT的表单数据。
    // 本字段只有在调用ParseForm后才有效。在客户端,会忽略请求中的本字段而使用Body替代。
    Form url.Values

    // PostForm是解析好的POST或PUT的表单数据。
    // 本字段只有在调用ParseForm后才有效。在客户端,会忽略请求中的本字段而使用Body    替代。
    PostForm url.Values

    // MultipartForm是解析好的多部件表单,包括上传的文件。
    // 本字段只有在调用ParseMultipartForm后才有效。
    // 在客户端,会忽略请求中的本字段而使用Body替代。
    MultipartForm *multipart.Form

  一、获取GET参数


 

query := req.URL.Query()
get_act := query["act"][0]
fmt.Println(get_act)

  二、获取POST参数


2.1 获取单个POST字段值

post_act := req.PostFormValue("act")
fmt.Println(post_act)

  

2.2 获取多个POST字段值

如果我们在提交的时候,有两个一样input-name怎么办呢?如下的html代码

<form method="POST" action="login?act=in">
<input type="text" name="username" class="text" />
<input type="text" name="username" class="text" />
<input type="submit" name="login_button" value="登录">
</form>

  这时候就要把post传输的参数当成数组,通过PostFormValue就只能获得第一个input的内容。怎么能两个都获取到呢?

post_act := req.PostForm["username"]
fmt.Println(post_act)

  

 

转载于:https://www.cnblogs.com/liujie-php/p/10441912.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值