#[http_client]Expand description
HTTP 客户端宏
用于为空结构体生成 HTTP 客户端实现。
§参数
base_url- 可选的基础 URLinterceptor- 可选的全局拦截器proxy- 可选的代理配置(支持 HTTP/HTTPS/SOCKS5)
§示例
use swan_macro::http_client;
// 基本使用
#[http_client(base_url = "https://api.example.com")]
struct ApiClient;
// 使用 HTTP 代理
#[http_client(base_url = "https://api.example.com", proxy = "http://proxy.example.com:8080")]
struct ProxyClient;
// 使用 SOCKS5 代理
#[http_client(base_url = "https://api.example.com", proxy = "socks5://proxy.example.com:1080")]
struct Socks5Client;
// 显式指定代理类型和地址
#[http_client(
base_url = "https://api.example.com",
proxy(type = http, url = "proxy.example.com:8080")
)]
struct TypedProxyClient;
// 使用带认证的 SOCKS5 代理
#[http_client(
base_url = "https://api.example.com",
proxy(type = socks5, url = "proxy.example.com:1080", username = "user", password = "pass")
)]
struct AuthProxyClient;
// 禁用代理
#[http_client(base_url = "https://api.example.com", proxy = false)]
struct NoProxyClient;