已支持 HTTP 指纹伪装,轻松绕过反爬虫检测
Req

Req

Main

  • 文档
  • 博客

Socials

  • GitHub
  • 中文

  • English

序言

  • 介绍
  • 快速开始

用法教程

  • 调试 - Dump/Log/Trace
  • HTTP 快速测试
  • 指定 HTTP 版本
  • 处理 Response
  • 设置请求体
  • 设置查询参数
  • 设置 URL 路径参数
  • 设置表单数据
  • 设置 Header
  • Cookie
  • 设置证书
  • 认证
  • 自定义 Marshal 和 Unmarshal
  • 上传
  • 下载
  • 重定向策略
  • 自动解码
  • 代理
  • TLS 指纹
  • Unix Socket
  • 自动重试
  • Request 与 Response 中间件
  • Client 与 Transport 中间件
  • HTTP 指纹
  • 最佳实践

示例

  • 通过命令行标志或环境变量开启 Debug
  • 在生产环境动态开启 Debug
  • 使用中间件统一处理异常
  • 使用中间件统一记录 Prometheus 指标
  • 使用 req 快速封装 SDK
  • 使用 req 轻松写爬虫
  • 与 httpmock 集成
  • 与 OpenTelemetry 和 Jaeger 集成
  • 与 kubernetes client-go 集成
  • 与 tencentcloud-sdk-go 集成
  • 与 goquery 集成

API 速览

  • Client
  • Request

序言

  • 介绍
  • 快速开始

用法教程

  • 调试 - Dump/Log/Trace
  • HTTP 快速测试
  • 指定 HTTP 版本
  • 处理 Response
  • 设置请求体
  • 设置查询参数
  • 设置 URL 路径参数
  • 设置表单数据
  • 设置 Header
  • Cookie
  • 设置证书
  • 认证
  • 自定义 Marshal 和 Unmarshal
  • 上传
  • 下载
  • 重定向策略
  • 自动解码
  • 代理
  • TLS 指纹
  • Unix Socket
  • 自动重试
  • Request 与 Response 中间件
  • Client 与 Transport 中间件
  • HTTP 指纹
  • 最佳实践

示例

  • 通过命令行标志或环境变量开启 Debug
  • 在生产环境动态开启 Debug
  • 使用中间件统一处理异常
  • 使用中间件统一记录 Prometheus 指标
  • 使用 req 快速封装 SDK
  • 使用 req 轻松写爬虫
  • 与 httpmock 集成
  • 与 OpenTelemetry 和 Jaeger 集成
  • 与 kubernetes client-go 集成
  • 与 tencentcloud-sdk-go 集成
  • 与 goquery 集成

API 速览

  • Client
  • Request

Unix Socket

如果你想指定 Unix Socket 而不用 TCP/IP,可以使用 Client.SetUnixSocket 进行设置:

client := req.C()
client.SetUnixSocket("/var/run/custom.sock")
client.SetBaseURL("http://example.local")

resp, err := client.R().Get("/index.html")
← TLS 指纹
自动重试 →
  • Powered by Cloudflare, Hugo, and Doks