用golang编写一个http请求库,轻松处理响应

772 阅读1分钟

httpreq

httpreq 是一个用Golang编写的http请求库,可以轻松地提出请求和处理响应。

安装

  go get github.com/binalyze/httpreq

概述

httpreq 在 Go 现有的net/http 库上实现了一个友好的 API。

ReqResponse 是两个最重要的结构。你可以把Req 看作是发起HTTP请求的客户端,Resp 是请求和响应的信息容器。它们都提供了简单方便的API,让你可以做很多事情。

req := httpreq.New(url)
resp, err := req.Get()

路线图

  • 支持查询参数
  • 支持cookies
  • 支持XML
  • 支持代理
  • 可配置的传输

使用方法

下面是一个使用httpreq 的一些辅助方法的例子。你可以在测试文件中找到更多的例子。

请求

 // Create new request
  req := httpreq.New("https://your-address-to-send-json.com")

  // Set Timeout
  req.SetTimeout(30 * time.Second)

  // Set Header (i.e. JWT Bearer Token)
  var bearer = "Bearer " + <ACCESS TOKEN HERE>
  req.SetHeaders(map[string]string{"Authorization": bearer})

  // Set Content Type
  req.SetContentType("application/json") 

  // Set JSON raw body
  info := &Data{
    FirstName: "John",
    LastName:  "Doe",
    Age:       42,
  }

  jsonData, _ := json.Marshal(info)
	
  req.SetBody(jsonData)

  // Send Request
  resp, _ := req.Post()  

响应

   // Body
  result, err := resp.Body()

  // Original response
  response := resp.Response()

  // StatusCode
  statusCode := resp.StatusCode()

  // Headers
  headers := resp.Headers() 

GitHub

github.com/binalyze/ht…