Golang的第三方http请求包 https://github.com/kirinlabs/HttpRequest
具有快速构建Headers、Cookies、设置超时时间、请求耗时等功能
不管是Get还是Post请求都可以快速构建并发送请求,甚至还支持Put和Delete等方法
当设置req.Debug(true),还可以打印每次请求的相关信息,很方便开发过程中的调试工作
安装:go get:https://github.com/kirinlabs/HttpRequest
实例化:req := HttpRequest.NewRequest()
当请求https协议时提示x509: certificate signed by unknown authority时,可关闭证书验证
req.SetTLSClient(&tls.Config{InsecureSkipVerify: true})
设置超时: req.SetTimeout(5)
打开调试模式:req.Debug(true)
设置Headers:
req.SetHeaders(map[string]string{ "Content-Type": "application/x-www-form-urlencoded", //这也是HttpRequest包的默认设置 })
设置Cookies: req.SetCookies(map[string]string{})
而且还支持连接操作
req := HttpRequest.NewRequest().Debug(true).SetTimeout(5).SetHeader()
获取返回的Response对象
resp.Response()
获取返回码
resp.StatusCode()
获取Body主体信息
resp.Body()
返回[]byte和error
返回信息Json格式化
body,err:=resp.Body()
fmt.Pringln(resp.Json(body))
获取请求耗时
resp.Time() string 单位是毫秒
以下是试用实例代码:
package main import ( "HttpRequest" "fmt" "log" ) func main() { req := HttpRequest.NewRequest() // 设置超时时间,不设置时,默认30s req.SetTimeout(5) // 设置Headers req.SetHeaders(map[string]string{ "Content-Type": "application/x-www-form-urlencoded", //这也是HttpRequest包的默认设置 }) // 设置Cookies req.SetCookies(map[string]string{ "sessionid": "LSIE89SFLKGHHASLC9EETFBVNOPOXNM", }) postData := map[string]interface{}{ "id": 1, "title": "csdn", } // GET 默认调用方法 resp, err := req.Get("http://127.0.0.1:8000?name=flyfreely", nil) // GET 传参调用方法 // 第2个参数默认为nil,也可以传参map[string]interface{} // 第2个参数不为nil时,会把传入的map以query传参的形式重新构造新url // 新的URL: http://127.0.0.1:8000?name=flyfreely&id=1&title=csdn //resp, err := req.Get("http://127.0.0.1:8000?name=flyfreely", postData) // POST 调用方法 //resp, err := req.Post("http://127.0.0.1:8000", postData) if err != nil { log.Println(err) return } if resp.StatusCode() == 200 { body, err := resp.Body() if err != nil { log.Println(err) return } fmt.Println(string(body)) fmt.Println(resp.Json(body)) } }
Go语言之Golang http请求第三方库HttpRequest介绍到这里,更多go学习请参考编程字典go教程 和问答部分,谢谢大家对编程字典的支持。
原文链接:https://blog.csdn.net/sinat_34166518/article/details/83150862?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163731001816780255222933%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163731001816780255222933&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-30-83150862.pc_v2_rank_blog_default&utm_term=go&spm=1018.2226.3001.4450