Go语言之Golang http请求库HttpRequest

HttpRequest是Go语言中的一个轻量级HTTP客户端库,支持多种请求方式,包括GET、POST、DELETE等,并提供丰富的自定义选项,如自定义Transport、设置超时时间等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Go语言HttpRequest项目源码地址: https://github.com/kirinlabs/HttpRequest

主要实现功能

       支持常用的GET、POST、DELETE、PUT等

       GET 除了正常请求url,也可以附带"name=flyfreely&address=beijing"或者map[string]interface{} 两种参数,包会自动整合到QueryString中

       POST 支持string, []byte, *bytes.Reader, *bytes.Buffer, *strings.Reader, map[string]interface{}等参数; 如果发送JSON请求,几乎可以支持发送所有数据类型。

       支持自定义Transport

 

目录

安装:

发送请求

自定义Transport

传递URL参数

响应内容

Json响应内容

定制请求头

BasicAuth 认证

CookieJar

Proxy代理

JSON请求

超时   

关闭证书验证

调试模式

连接操作

Respone对象

实例代码



具有快速构建HeadersCookies设置超时时间请求、耗时、打印请求信息等功能

安装:

go get https://github.com/kirinlabs/HttpRequest

发送请求

导入HttpRequest

import "github.com/kirinlabs/HttpRequest"

实例化:

req := HttpRequest.NewRequest()

然后,尝试获取某个网页。我们来获取 Github 的公共时间线

res,err := req.Get("https://api.github.com/events")

返回一个res的Response对象和err的Error对象

 

自定义Transport

var transport *http.Transport

func init() {   
    transport = &http.Transport{
        DialContext: (&net.Dialer{
            Timeout:   30 * time.Second,
            KeepAlive: 30 * time.Second,
            DualStack: true,
        }).DialContext,
        MaxIdleConns:          100, 
        IdleConnTimeout:       90 * time.Second,
        TLSHandshakeTimeout:   5 * time.Second,
        ExpectContinueTimeout: 1 * time.Second,
    }
}

func demo(){
    // Use http.DefaultTransport
    res, err := HttpRequest.Get("http://127.0.0.1:8080")

    // Use custom Transport
    res, err := HttpRequest.Transport(transport).Get("http://127.0.0.1:8080")
}

 

Post 请求

//无参请求
res,err := req.Post("https://www.baidu.com")

//发送整数类型
res,err := req.Post("https://www.baidu.com",uint32(100))

//发送[]byte
res,err := req.Post("https://www.baidu.com",[]byte("bytes data"))
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值