Skip to content

网络请求


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())

备案号:冀ICP备20015584号-5