网络请求
tghttp
tghttp包提供了强大便捷使用的 HTTP
客户端,可以通过 tghttp.NewClient()
去调用常用请求方法
GET()
可以指定超时时长minute,默认不传为60s
r, err := tghttp.NewClient(30).GET("http://127.0.0.1:3699/api/v1/hello?name=Tom")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(r.ReadAllString())
r, err := tghttp.NewClient(30).GET("http://127.0.0.1:3699/api/v1/hello?name=Tom")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(r.ReadAllString())
POST()
可以指定超时时长minute,默认不传为60s
r, err := tghttp.NewClient(30).POST("http://127.0.0.1:3699/api/v1/user/list", map[string]interface{}{
"pageNum": 1,
"pageSize": 10,
})
if err != nil {
fmt.Println(err)
return
}
fmt.Println(r.ReadAllString())
r, err := tghttp.NewClient(30).POST("http://127.0.0.1:3699/api/v1/user/list", map[string]interface{}{
"pageNum": 1,
"pageSize": 10,
})
if err != nil {
fmt.Println(err)
return
}
fmt.Println(r.ReadAllString())
PUT()
可以指定超时时长minute,默认不传为60s
r, err := tghttp.NewClient().PUT("http://127.0.0.1:3699/api/v1/user/edit", map[string]interface{}{
"id": 1,
"name": "张三",
})
if err != nil {
fmt.Println(err)
return
}
fmt.Println(r.ReadAllString())
r, err := tghttp.NewClient().PUT("http://127.0.0.1:3699/api/v1/user/edit", map[string]interface{}{
"id": 1,
"name": "张三",
})
if err != nil {
fmt.Println(err)
return
}
fmt.Println(r.ReadAllString())
DELETE()
可以指定超时时长minute,默认不传为60s
r, err := tghttp.NewClient().DELETE("http://127.0.0.1:3699/api/v1/user/delete", map[string]interface{}{
"id": 1,
})
if err != nil {
fmt.Println(err)
return
}
fmt.Println(r.ReadAllString())
r, err := tghttp.NewClient().DELETE("http://127.0.0.1:3699/api/v1/user/delete", map[string]interface{}{
"id": 1,
})
if err != nil {
fmt.Println(err)
return
}
fmt.Println(r.ReadAllString())
SetHeader()
默认采用 application/json
的方式请求,可以通过调用 SetHeader()
去自定义请求头
file, err := os.Open("path/to/your/file.txt")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
r, err := tghttp.NewClient().SetHeader(map[string]string{
"Content-Type": "multipart/form-data",
}).POST("http://127.0.0.1:3699/api/v1/upload", map[string]interface{}{
"file": file,
})
if err != nil {
fmt.Println(err)
return
}
fmt.Println(r.ReadAllString())
file, err := os.Open("path/to/your/file.txt")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
r, err := tghttp.NewClient().SetHeader(map[string]string{
"Content-Type": "multipart/form-data",
}).POST("http://127.0.0.1:3699/api/v1/upload", map[string]interface{}{
"file": file,
})
if err != nil {
fmt.Println(err)
return
}
fmt.Println(r.ReadAllString())