golang-http 请求---设置header与直接发
背景
现在各种软件到处都是,写代码难免有时候需要http 调用其他的接口。
其实这个东西还挺常用,虽然很简单,但是写的时候 又忘,就像是提笔忘字,索性总结一下吧。
不需要设置header属性的http 请求
那就直接发,简单快捷不拖沓。
http GET请求
resp, err := http.Get("http://abced.com/" + "/user/false/lsj")
if err != nil {
t.Log("query cluster failed", err.Error())
t.FailNow()
}
defer resp.Body.Close()
var serviceResp ServiceResp
respByte, _ := ioutil.ReadAll(resp.Body)
// 读出body之后,就干什么干什么了,下同。
http POST请求
// 在别处定义
info := model.User{
Desc: "test UserInfo",
UserId: "lsj",
TopicName: "test",
ClusterName: "test",
Type: 1,
}
byte, _ := json.Marshal(info)
resp, err := http.Post("http://abced.com/" + "/user/save", "application/json", strings.NewReader(string(byte)))
if err != nil {
t.Log("query info failed", err.Error())
t.FailNow()
}
defer resp.Body.Close()
var serviceResp ServiceResp
respByte, _ := ioutil.ReadAll(resp.Body)
......
需要设置header属性的http 请求
那就new 一个 request,再设置其header 就好了
设置header 的GET请求
req, _ := http.NewRequest("GET", "http://abced.com/" + "/user/false/lsj", nil)
// 比如说设置个token
req.Header.Set("token", "d8cdcf8427e")
// 再设置个json
req.Header.Set("Content-Type","application/json")
resp, err := (&http.Client{}).Do(req)
//resp, err := http.Get(serviceUrl + "/topic/query/false/lsj")
if err != nil {
t.Log("query topic failed", err.Error())
t.FailNow()
}
defer resp.Body.Close()
var serviceResp ServiceResp
respByte, _ := ioutil.ReadAll(resp.Body)
......
设置header 的POST请求
// 在别处定义
info := model.User{
Desc: "test UserInfo",
UserId: "lsj",
TopicName: "test",
ClusterName: "test",
Type: 1,
}
byte, _ := json.Marshal(info)
req, _ := http.NewRequest("POST", "http://abced.com/" + "/user/false/lsj", strings.NewReader(string(byte)))
req.Header.Set("token", "00998ecf8427e")
resp, err := (&http.Client{}).Do(req)
if err != nil {
t.Log("save topic failed", err.Error())
t.FailNow()
}
defer resp.Body.Close()
var serviceResp ServiceResp
respByte, _ := ioutil.ReadAll(resp.Body)
......
golang-http 请求---设置header与直接发的更多相关文章
- Spring 使用 feign时设置header信息
最近使用 SpringBoot 项目,把一些 http 请求转为 使用 feign方式.但是遇到一个问题:个别请求是要设置header的. 于是,查看官方文档和博客,大致推荐两种方式.也可能是我没看明 ...
- 原生js实现文件下载并设置请求头header
原生js实现文件下载并设置请求头header const token="自行定义";//如果有 /** * 向指定路径发送下载请求 * @param{String} url 请求路 ...
- HTTP 请求头 Header
HTTP 请求头 Header HTTP请求头概述 (HttpServletRequest) HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST或者HEA ...
- IOS NSURLRequest 设置 Header
https://my.oschina.net/wolx/blog/406092 工程中的请求,需要设置Header,请求令牌才访问,NSURLRequest 请求没有直接设置header 的方法,需要 ...
- jmetter的http请求设置
1.设置 cookie 2.设置header 3.login 4.post请求 5.get请求
- curl get请求添加header头信息
function get($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPGET, true); curl_setopt($ch, CU ...
- {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)
Django基础七之Ajax 本节目录 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解) 一 Ajax简介 ...
- django系列6--Ajax04 请求设置(设置csrf_token)
Ajax请求设置csrf_token 官方文档 csrf_token: https://docs.djangoproject.com/en/1.11/ref/csrf/ CSRF 跨站请求攻击,简单地 ...
- 解决AJAX跨域:1、利用JSONP;2、JS设置Header
一.利用JSONP: 首先来看看在页面中如何使用jQuery的ajax解决跨域问题的简单版: $(document).ready(function(){ var url='http://localho ...
随机推荐
- 系统学习 Java IO (六)----管道流 PipedInputStream/PipedOutputStream
目录:系统学习 Java IO---- 目录,概览 PipedInputStream 类使得可以作为字节流读取管道的内容. 管道是同一 JVM 内的线程之间的通信通道. 使用两个已连接的管道流时,要为 ...
- Redis 密码设置和查看密码(二)
Redis 密码设置和查看密码 redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证. 1.初始化Redis密码: 在配置文件中有个参数: ...
- Linux下,非Docker启动Elasticsearch 6.3.0,安装ik分词器插件,以及使用Kibana测试Elasticsearch,
Linux下,非Docker启动Elasticsearch 6.3.0 查看java版本,需要1.8版本 java -version yum -y install java 创建用户,因为elasti ...
- 新补充 JSSSS
条件语句 补充: var a=“hello world” a这个变量是字符串了 对于里面每一个字母来说 他是字节 里面有11个字节 字节总数用length表示 如下: 根据上面的内容咱们又发现了一个运 ...
- vue随笔
1.vue基础 Vue 是一个mvvm 的渐进式框架.Angular 是一个mvc的.所以vue的重点更偏向于mv 他的使用方式 大家会发现里面带有大量的$的属性. 学习vue的指令 V-for 用 ...
- Atlassian In Action-Jira之指导思想(一)
太上,不知有之:其次,亲而誉之:其次,畏之:其次,侮之.信不足焉,有不信焉.悠兮,其贵言.功成事遂,百姓皆谓"我自然". --<道德经> 研发管理或者系统工具的指导思想 ...
- 修改SearchBar的取消按钮Cancel为中文
一开始在网上看到很多方法都是循环,好吧,我也循环 创建UISearchBar的时候循环,不行 用searchBarTextDidBeginEditing事件去循环,也不行 无语了,搜索了Baidu第一 ...
- Java实现LRU算法
一.LRU算法简介 LRU(Least Recently Used)最近最久未使用算法 常见应用场景:内存管理中的页面置换算法.缓存淘汰中的淘汰策略等 二.实现理论 底层结构:双向链表 + HashM ...
- 第九章 webase 分布式中间件平台快速部署
鉴于笔者以前各大博客教程都有很多人提问,早期建立一个技术交流群,里面技术体系可能比较杂,想了解相关区块链开发,技术提问,请加QQ群:538327407 参考资料:https://webasedoc.r ...
- xfs 文件系统修复
pvcreate /dev/sdb1 pvcreate /dev/sdc1 pvcreate /dev/sdd1 vgcreate vg_bricks /dev/sdb1 vgcreate vg_br ...