req
<p align="center">
<p align="center"><img src="https://yellow-cdn.veclightyear.com/835a84d5/eee636b0-bb2b-4189-ac29-1c5d0f97a39e.png"></p>
<p align="center"><strong>具有黑魔法的简单Go HTTP客户端</strong></p>
<p align="center">
<a href="https://github.com/imroc/req/actions/workflows/ci.yml?query=branch%3Amaster"><img src="https://yellow-cdn.veclightyear.com/835a84d5/ec5167aa-1786-43db-83c6-f3d3faaf2b64.svg" alt="构建状态"></a>
<a href="https://goreportcard.com/report/github.com/imroc/req/v3"><img src="https://goreportcard.com/badge/github.com/imroc/req/v3" alt="Go报告卡"></a>
<a href="https://pkg.go.dev/github.com/imroc/req/v3"><img src="https://yellow-cdn.veclightyear.com/835a84d5/45c11df4-1849-48d6-a439-bb6c14bbd19d.svg"></a>
<a href="LICENSE"><img src="https://yellow-cdn.veclightyear.com/835a84d5/32b5706c-2497-4bff-af24-5f66c2322f9a.svg" alt="许可证"></a>
<a href="https://github.com/imroc/req/releases"><img src="https://img.shields.io/github/v/release/imroc/req?display_name=tag&sort=semver" alt="GitHub发布"></a>
<a href="https://github.com/avelino/awesome-go"><img src="https://yellow-cdn.veclightyear.com/835a84d5/348d59d6-2063-416f-8cac-18012725c234.svg" alt="在Awesome Go中被提及"></a>
</p>
</p>
文档
完整文档可在官方网站上获取:https://req.cool
<a name="Features">特性</a>
- 简单而强大:使用简单方便,提供丰富的客户端级别和请求级别设置,所有设置都是直观的链式方法。
- 易于调试:强大且方便的调试工具,包括调试日志、性能追踪,甚至可以转储完整的请求和响应内容(参见调试)。
- 轻松进行API测试:使用最少的代码即可进行API测试,无需显式创建任何Request或Client,甚至无需处理错误(参见快速HTTP测试)。
- 智能默认设置:如果可能,自动检测并解码为utf-8以避免乱码(参见自动解码),根据Content-Type自动编组请求体和解组响应体。
- 支持多个HTTP版本:支持
HTTP/1.1
、HTTP/2
和HTTP/3
,可以自动检测服务器端并为请求选择最佳的HTTP版本,您也可以根据需要强制指定协议(参见强制HTTP版本)。
- 支持重试:支持自动请求重试,并且完全可自定义(参见重试)。
- HTTP指纹:支持HTTP指纹模拟,使我们能够通过识别HTTP指纹来访问禁止爬虫程序的网站(参见HTTP指纹)。
- 多种认证方法:您可以直接使用HTTP基本认证、Bearer认证令牌和摘要认证(参见认证)。