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

【二、http】go的http基本请求设置(设置查询参数、定制请求头)get和post类似

一、设置url后边的参数,(get和post请求为例子)


func requstByParamsGet(){requst, err := http.NewRequest(http.MethodGet, "http://httpbin.org/get", nil)if err != nil {fmt.Println("ss")}params := make(url.Values)params.Add("name", "kaiyue")params.Add("age", "18")//encode之后会生成如下,name=kaiyue&age=18requst.URL.RawQuery = params.Encode()r, err := http.DefaultClient.Do(requst)if err != nil {fmt.Println("ss")}defer r.Body.Close()printBody(r)
}func requstByParamsPost(){requst, err := http.NewRequest(http.MethodPost, "http://httpbin.org/post", nil)if err != nil {fmt.Println("ss")}params := make(url.Values)params.Add("name", "kaiyue")params.Add("age", "18")//encode之后会生成如下,name=kaiyue&age=18, 是组成url问号后边的参数requst.URL.RawQuery = params.Encode()r, err := http.DefaultClient.Do(requst)if err != nil {fmt.Println("ss")}defer r.Body.Close()printBody(r)
}
func main() {requstByParamsPost()
}

结果:

{"args": {"age": "18", "name": "kaiyue"}, "data": "", "files": {}, "form": {}, "headers": {"Accept-Encoding": "gzip", "Content-Length": "0", "Host": "httpbin.org", "User-Agent": "Go-http-client/1.1", "X-Amzn-Trace-Id": "Root=1-6544e26c-2a47c0392e3351a71259c068"}, "json": null, "origin": "120.244.60.192", "url": "http://httpbin.org/post?age=18&name=kaiyue"
}

二、定制http头中的参数

func requstByHeader(){requst, err := http.NewRequest(http.MethodGet, "http://httpbin.org/get", nil)if err != nil {fmt.Println("ss")}requst.Header.Add("user-agent", "chrome")r, err := http.DefaultClient.Do(requst)if err != nil {fmt.Println("ss")}defer r.Body.Close()printBody(r)
}func main() {requstByHeader()
}

结果:

{"args": {}, "headers": {"Accept-Encoding": "gzip", "Host": "httpbin.org", "User-Agent": "chrome", "X-Amzn-Trace-Id": "Root=1-6544e394-14143f26584a7eed32728fd7"}, "origin": "120.244.60.192", "url": "http://httpbin.org/get"
}

可以看到其中头部信息已经打印出自己增加的部分内容

相关文章:

  • Java基础之类型(内涵面试题)
  • nodemon : 无法加载文件 C:\Users\XXX\\npm\nodemon.ps1,因为在此系统上禁止运行脚本。
  • 《研发效能(DevOps)工程师》课程简介(三)丨IDCF
  • WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  • 单点登录。
  • 矢量图形设计软件:Illustrator 2024(AI)中文激活版
  • 【教3妹学编程-算法题】117. 填充每个节点的下一个右侧节点指针 II
  • 【LeetCode刷题-链表】--1290.二进制链表转整数
  • 在 Python 中创建奇数列表
  • 【Java】多线程案例(单例模式,阻塞队列,定时器,线程池)
  • stm32 ADC
  • leetcode做题笔记211. 添加与搜索单词 - 数据结构设计
  • vr煤矿掘进机事故模拟救援减少实际工作中的失误-深圳华锐视点
  • Elasticsearch(一)---介绍
  • IDEA远程调试代码
  • 5、React组件事件详解
  • flask接收请求并推入栈
  • iOS 系统授权开发
  • JDK 6和JDK 7中的substring()方法
  • Meteor的表单提交:Form
  • Unix命令
  • Vue UI框架库开发介绍
  • vue:响应原理
  • Vue官网教程学习过程中值得记录的一些事情
  • Vue实战(四)登录/注册页的实现
  • Vue学习第二天
  • 仿天猫超市收藏抛物线动画工具库
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 模型微调
  • 区块链分支循环
  • 深入浏览器事件循环的本质
  • 我有几个粽子,和一个故事
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 1.Ext JS 建立web开发工程
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​香农与信息论三大定律
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (1)STL算法之遍历容器
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (二)JAVA使用POI操作excel
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (剑指Offer)面试题34:丑数
  • (六)c52学习之旅-独立按键
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)德国人的记事本
  • (转载)Linux网络编程入门
  • .htaccess配置常用技巧
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET Core跨平台微服务学习资源