Table of Contents

Namespace CurlUnity.Http

Classes

CurlHttpClient

libcurl 的 HTTP 客户端实现。

CurlHttpException

SendAsync(IHttpRequest, CancellationToken)网络/协议层面失败时抛出的异常。

HttpClientExtensions

IHttpClient 的便利扩展方法:常见方法/内容类型的 one-liner 封装。 需要更多控制时直接构造 HttpRequest 并调 SendAsync(IHttpRequest, CancellationToken)

HttpProxy

HTTP / HTTPS / SOCKS 代理配置。通过 SetProxy(HttpProxy) 激活。

HttpRequest
HttpRequestExtensions

IHttpRequest 的请求级便利扩展,当前主要是常见认证方式的 header 辅助。链式返回 IHttpRequest 支持 fluent 写法。

MultipartFormData

multipart/form-data 请求体构造器,按 RFC 7578 规范拼装 body,随机生成 boundary。

Interfaces

IHttpClient

HTTP 客户端接口。负责接收 IHttpRequest 并异步返回 IHttpResponse, 同时作为 cookie jar、代理等跨请求状态的宿主。典型实现是 CurlHttpClient

IHttpRequest

一次 HTTP 请求的配置。交给 SendAsync(IHttpRequest, CancellationToken) 后由 client 解读 成对应的 libcurl easy handle 选项。典型实现是 HttpRequest,按 POCO 字段赋值即可;认证等扩展方法见 HttpRequestExtensions

IHttpResponse

HTTP 响应。由 SendAsync(IHttpRequest, CancellationToken) 在成功拿到响应时返回。

Enums

HttpErrorKind

CurlHttpException 的语义分类。提供给调用方做 switch / 重试策略判断, 避免直接依赖 libcurl 的 CURLcode 数值。

HttpMethod

HTTP 请求方法。对 Get / Post / Head 走 libcurl 原生选项; 其余走 CURLOPT_CUSTOMREQUEST 填方法名(与 curl 命令行 -X 等价)。

HttpVersion

HTTP 协议版本。数值与 curl 的 CURL_HTTP_VERSION_* 定义一致。 既用于请求偏好配置(PreferredVersion), 也用于响应中报告实际使用的版本(Version)。