为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第15天 go语言http标准库

标签:
Go

课程名称GO开发工程师

课程章节:8-1: http标准库

课程讲师ccmouse

课程内容

  1. http作为客户端发起请求
// 创建一个request
request, err := http.NewRequest(http.MethodGet, "http://www.imooc.com", nil)

// 设置请求头部
// 设置 user-agent后,会访问手机版网页
request.Header.Add("User-Agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Mobile Safari/537.36")

client := http.Client {
	// 所有得重定向都存放进了via
	CheckRedirect: func(req *http.Request, via []*http.Request) error {
		fmt.Println("redirect: ", req)
		return nil // 返回nil 终止继续重定向;不返回nil将一直重定向下去
	}
}
resp, err := client.do(request)

// resp, err := http.DefaultClient.do(request)

//resp, err := http.Get("www.imooc.com")
if err != nil {
	panic(err)
}
defer resp.Body.Close()
// true: dump resp body
s, err := httputil.DumpResponse(resp, true)
if err != nil {
	panic(err)
}
fmt.Printf("%s\n", s)
  1. http服务器得性能分析
    导入 _ "net/http/pprof"
    访问/debug/pprof/
    使用go tool pprof分析性能
    调用栈、内存占用情况、go routine等

课程收获

  • 使用httputil简化工作,可以手动设置请求头头部
  • 服务器性能分析方式

图片描述
图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消