继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

洋溢1310659
关注TA
已关注
手记 26
粉丝 2
获赞 4

课程名称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简化工作,可以手动设置请求头头部
  • 服务器性能分析方式

图片描述
图片描述

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP