Better late than never.

golang fasthttp 使用记录
使用缘由:需要找一个请求api的扩展包来支持 go-movies 的数据获取
github地址:https://github.com/valyala/fasthttp

Code

  • 在尝试了不少实例之后最终采用的方法
    import github.com/valyala/fasthttp
    ......

    // 初始化请求与响应
    req := fasthttp.AcquireRequest()
    resp := fasthttp.AcquireResponse()
    defer func() {
        // 用完需要释放资源
        fasthttp.ReleaseResponse(resp)
        fasthttp.ReleaseRequest(req)
    }()

    // 设置请求方法
    req.Header.SetMethod("GET")

    // 设置请求头,这里封装了一个随机的 user agent,可根据实际情况自行修改
    RandomUserAgent := RandomUserAgent()
    req.Header.SetBytesKV([]byte("User-Agent"), []byte(RandomUserAgent))

    // 设置请求的目标网址
    req.SetRequestURI(url)

    // 不验证https证书 todo 这里根据实际情况是否选择
    // fasthttp.Client{TLSConfig: &tls.Config{InsecureSkipVerify: true}}

    // 发起请求
    if err := fasthttp.Do(req, resp); err != nil {
        log.Println("pageCount 请求失败:", url, err.Error())
    }

    // 获取响应的数据实体
    body := resp.Body()

    // 序列化实际的数据
    var nav ResData
    err := utils.Json.Unmarshal(body, &nav)
    if err != nil {
        log.Println(err)
    }

-- END

写的不错,赞助一下主机费

扫一扫,用支付宝赞赏
扫一扫,用微信赞赏

暂无评论~~