You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
徐俊杰 f5c584d8a8 自动更新 3 years ago
.idea first commit 3 years ago
test first commit 3 years ago
CHANGELOG.MD first commit 3 years ago
README.MD 自动更新 3 years ago
body.go first commit 3 years ago
go.mod first commit 3 years ago
headers.go 自动更新 3 years ago
param.go first commit 3 years ago
pushToGit.sh 自动更新 3 years ago
simpleRequest.go first commit 3 years ago

README.MD

simpleRequest --

说明

simpleRequest 是基于golang原生http库的封装适合用来对第三方接口进行快速地对接和开发。 它具备以下特点:

  • 相对于其它请求库,更易于理解和使用。极大减少了开发过程中的代码量和资料查询时间。
  • 适合对接一些未遵循restful规范的接口。

如何使用?

模块导入

import  "github.com/dorlolo/simpleRequest"

实例化

var r = simpleRequest.NewRequest()

添加请求头

单个赋值

r.Headers().Set("token", "d+jfdji*D%1=")
r.Headers().Set("Content-Type", "application/json")

map赋值

mapHeaders:= map[string]string{
    "token":      "d+jfdji*D%1=",
    "Content-Type": "application/json",
}
r.Headers().Sets(mapHeaders)

链式赋值

r.Headers().Set("token", "d+jfdji*D%1=").Set("Content-Type", "application/json")

使用预设的key

r.Headers().SetConentType("application/json")
//r.Headers().Set("Content-Type", "application/json")

r.Headers().SetUserAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1"")
//r.Headers().Set("User-Agent",Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1")

r.Headers().SetConentEncoding("gzip, deflate, br")
//r.Headers().Set("Content-Encoding", "gzip, deflate, br")

使用预设的key-value

//随机user-agent
r.Headers().SetRandomUerAgent()
//r.Headers().Set("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1")

r.Headers().ConentType_json()
//r.Headers().Set("Content-Type", "application/json")

r.Headers()ConentType_formData()
//r.Headers().Set("Content-Type","multipart/form-data")

r.Headers()ConentType_formUrlencoded()
//r.Headers().Set("Content-Type","application/x-www-form-urlencoded")

r.Headers()ConentType_textPlain()
//r.Headers().Set("Content-Type","text/plain; charset=utf-8")

添加queryParams

单个赋值

r.QueryParams().Set("user", "dorlolo")

map赋值

不会覆盖上面之前填充过的参数

pamarsBulid := make(map[string]interface{})
pamarsBulid["passwd"] = "123456"
pamarsBulid["action"] = "login"
r.QueryParams().Sets(pamarsBulid)

链式赋值

r.QueryParams().Set("user", "dorlolo").Set("passwd","123456")

获取url.Values对象进行赋值

对象类型为*url.Values,取到地址后,可以使用url.Values中的方法继续进行赋值

qpData:=r.QueryParams().Gets()
qpData.Add("age","18")

添加请求体body

单个赋值

r.Body().Set("beginDate", "2022-03-01").Set("endDate", "2022-03-03")

map赋值

bodyBulid := map[string]interface{
    "beginDate":"2022-03-01",
	"endDate":"2022-03-03",
}
r.Body().Sets(bodyBulid)

链式赋值

r.Body().Set("beginDate", "2022-03-01").Set("endDate", "2022-03-03")

字符串赋值

通过此方法直接赋值json数据

bodydata:=`{"devSn":"230000000008","type":"day"}`
r.Body().SetString(bodydata)

其它请求参数

设置超时时间

r.TimeOut(time.Second * 30)

跳过证书验证

r.SkipCertVerify()

发送请求

post请求

res, err :=r.Post("https://127.0.0.1:80/excample")
if err != nil {
    ftm.Println( "error occured", err)
} else {
    fmt.Println(res)
}

get请求

res, err :=r.Get("https://127.0.0.1:80/excample")
if err != nil {
ftm.Println( "error occured", err)
} else {
fmt.Println(res)
}

其它请求

后续支持...敬请期待

获取上下文

请注意,需要完成请求后才能获得上下文数据!

获取请求的上下文对象

requestContext:=r.Request

获取返回的上下文对象

responseContext:=r.Response

使用示例

simpleRequest_test.go