具有快速构建Headers、Cookies、设置超时时间、请求耗时等功能
不管是Get还是Post请求都可以快速构建并发送请求,甚至还支持Put和Delete等方法
当设置req.Debug(true),还可以打印每次请求的相关信息,很方便开发过程中的调试工作
实例化: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))
}
}
原文:https://blog.csdn.net/flyfreelyit/article/details/80281467