当前位置: 首页 > news >正文

Golang框架HTTP客户端框架zdpgo_resty发送表单请求

核心代码

这里通过字典传递了一个简单的表单数据。
发送的是POST请求。

resp, err := client.R().SetFormData(map[string]string{"username": "jeeva","password": "mypass",}).Post("http://127.0.0.1:3333/login")fmt.Println(resp, err)

服务端

package mainimport ("encoding/json""fmt""net/http""zdpgo_chi""zdpgo_chi/middleware"
)func main() {r := zdpgo_chi.NewRouter()r.Use(middleware.RequestID)r.Use(middleware.RealIP)r.Use(middleware.Logger)r.Use(middleware.Recoverer)r.Post("/login", func(w http.ResponseWriter, r *http.Request) {r.ParseForm()username := r.Form.Get("username")password := r.Form.Get("password")search := r.Form.Get("search")fmt.Println(username, password, search)data := map[string]interface{}{"username": username,"password": password,"search":   search,}jsonData, err := json.Marshal(data)if err != nil {w.Write([]byte(err.Error()))return}w.Write(jsonData)})http.ListenAndServe(":3333", r)
}

客户端

package mainimport ("fmt""net/url""zdpgo_resty"
)func main() {client := zdpgo_resty.New()// 使用表单登录resp, err := client.R().SetFormData(map[string]string{"username": "jeeva","password": "mypass",}).Post("http://127.0.0.1:3333/login")fmt.Println(resp, err)// 传递数组criteria := url.Values{"search": []string{"book", "glass", "pencil"},}resp, err = client.R().SetFormData(map[string]string{"username": "jeeva","password": "mypass",}).SetFormDataFromValues(criteria).Post("http://127.0.0.1:3333/login")fmt.Println(resp, err)
}
http://www.lryc.cn/news/354021.html

相关文章:

  • 【机器学习300问】99、多通道卷积神经网络在卷积操作时有哪些注意事项?
  • Rust之函数、单元测试
  • Linux环境下TensorFlow安装教程
  • 基于Open3D的点云处理19-模拟生成点云
  • 安全分析[1]之网络协议脆弱性分析
  • 数据湖对比(hudi,iceberg,paimon,Delta)
  • 基于ssm的蛋糕商城系统java项目jsp项目javaweb
  • vue3父组件使用ref获取子组件的属性和方法
  • 加入MongoDB AI创新者计划,携手MongoDB共同开创AI新纪元
  • 3. CSS的色彩与背景
  • MiniCPM-Llama3-V-2_5-int4
  • 压缩能力登顶 小丸工具箱 V1.0 绿色便携版
  • 电子电器架构 - 车载网管功能简介
  • 路由配置总结
  • 从零起航,Python编程全攻略
  • 正运动视觉与运动一体机小课堂----三分钟系列
  • 微信小程序如何跳转微信公众号
  • vi和vim编辑器
  • 纯电动汽车硬件在环测试
  • Flutter 中的 ClipRect 小部件:全面指南
  • 【LeetCode】【209】长度最小的子数组(1488字)
  • 1738. 找出第 K 大的异或坐标值
  • Fortran: stdlib标准库
  • CSS3优秀动画代码示例
  • 嵌入式0基础开始学习 ⅠC语言(4)循环结构
  • 【JAVASE】抽象类
  • 嵌入式硬件中PCB走线与过孔的电流承载能力分析
  • 动态规划之背包问题中如何确定遍历顺序的问题-组合or排列?
  • 开源大模型与闭源大模型
  • python+selenium - UI自动框架之封装查找元素