hutool.httpx_client.http_request¶
Module Contents¶
Classes¶
HTTP请求对象,支持链式调用 |
API¶
- class hutool.httpx_client.http_request.HttpRequest(url: str, method: str = 'GET')¶
HTTP请求对象,支持链式调用
示例:
response = (HttpRequest.get("https://example.com") .header("Accept", "application/json") .timeout(5000) .execute())
Initialization
构造HTTP请求
- 参数:
url – 请求URL
method – HTTP方法,默认GET
- classmethod get(url: str) hutool.httpx_client.http_request.HttpRequest¶
创建GET请求
- 参数:
url – 请求URL
- 返回:
HttpRequest实例
- classmethod post(url: str) hutool.httpx_client.http_request.HttpRequest¶
创建POST请求
- 参数:
url – 请求URL
- 返回:
HttpRequest实例
- method(method: str) hutool.httpx_client.http_request.HttpRequest¶
设置HTTP方法
- 参数:
method – HTTP方法名,如GET、POST、PUT、DELETE等
- 返回:
当前实例,支持链式调用
- header(name: str, value: str) hutool.httpx_client.http_request.HttpRequest¶
设置单个请求头
- 参数:
name – 请求头名称
value – 请求头值
- 返回:
当前实例,支持链式调用
- headers(headers: dict) hutool.httpx_client.http_request.HttpRequest¶
批量设置请求头
- 参数:
headers – 请求头字典
- 返回:
当前实例,支持链式调用
- cookie(cookie: str) hutool.httpx_client.http_request.HttpRequest¶
设置Cookie
支持格式: “name=value” 或 “name1=value1; name2=value2”
- 参数:
cookie – Cookie字符串
- 返回:
当前实例,支持链式调用
- form(key: str, value: Optional[str] = None) hutool.httpx_client.http_request.HttpRequest¶
添加表单参数
- 参数:
key – 参数名
value – 参数值
- 返回:
当前实例,支持链式调用
- body(body: str) hutool.httpx_client.http_request.HttpRequest¶
设置请求体
- 参数:
body – 请求体字符串
- 返回:
当前实例,支持链式调用
- json(json_data: Any) hutool.httpx_client.http_request.HttpRequest¶
设置JSON请求体
- 参数:
json_data – JSON可序列化的数据
- 返回:
当前实例,支持链式调用
- timeout(timeout: int) hutool.httpx_client.http_request.HttpRequest¶
设置超时时间(毫秒)
- 参数:
timeout – 超时时间,单位毫秒
- 返回:
当前实例,支持链式调用
- charset(charset: str) hutool.httpx_client.http_request.HttpRequest¶
设置字符集
- 参数:
charset – 字符集名称,如 utf-8、gbk 等
- 返回:
当前实例,支持链式调用
- follow_redirects(is_follow: bool) hutool.httpx_client.http_request.HttpRequest¶
设置是否跟随重定向
- 参数:
is_follow – 是否跟随重定向
- 返回:
当前实例,支持链式调用
- execute() hutool.httpx_client.http_response.HttpResponse¶
执行HTTP请求
- 返回:
HttpResponse响应对象
- 抛出:
httpx.HTTPStatusError – 当响应状态码表示错误时
httpx.RequestError – 当请求发生网络错误时
- classmethod head(url: str) hutool.httpx_client.http_request.HttpRequest¶
创建HEAD请求
- 参数:
url – 请求URL
- 返回:
HttpRequest实例
- classmethod put(url: str) hutool.httpx_client.http_request.HttpRequest¶
创建PUT请求
- 参数:
url – 请求URL
- 返回:
HttpRequest实例
- classmethod patch(url: str) hutool.httpx_client.http_request.HttpRequest¶
创建PATCH请求
- 参数:
url – 请求URL
- 返回:
HttpRequest实例
- classmethod delete(url: str) hutool.httpx_client.http_request.HttpRequest¶
创建DELETE请求
- 参数:
url – 请求URL
- 返回:
HttpRequest实例
- classmethod trace(url: str) hutool.httpx_client.http_request.HttpRequest¶
创建TRACE请求
- 参数:
url – 请求URL
- 返回:
HttpRequest实例
- classmethod options(url: str) hutool.httpx_client.http_request.HttpRequest¶
创建OPTIONS请求
- 参数:
url – 请求URL
- 返回:
HttpRequest实例
- content_type(ct: str) hutool.httpx_client.http_request.HttpRequest¶
设置Content-Type头
- 参数:
ct – Content-Type值
- 返回:
当前实例,支持链式调用
- keep_alive(keep: bool) hutool.httpx_client.http_request.HttpRequest¶
设置Connection头
- 参数:
keep – 是否保持连接
- 返回:
当前实例,支持链式调用
- basic_auth(username: str, password: str) hutool.httpx_client.http_request.HttpRequest¶
设置Basic认证
- 参数:
username – 用户名
password – 密码
- 返回:
当前实例,支持链式调用
- bearer_auth(token: str) hutool.httpx_client.http_request.HttpRequest¶
设置Bearer Token认证
- 参数:
token – Bearer Token
- 返回:
当前实例,支持链式调用
- body_bytes(data: bytes) hutool.httpx_client.http_request.HttpRequest¶
设置字节请求体
- 参数:
data – 字节数据
- 返回:
当前实例,支持链式调用
- params(params: dict) hutool.httpx_client.http_request.HttpRequest¶
设置URL查询参数
- 参数:
params – 参数字典
- 返回:
当前实例,支持链式调用
- form_file(name: str, file_bytes: bytes, filename: str = 'file') hutool.httpx_client.http_request.HttpRequest¶
添加文件上传字段(记录信息供execute使用)
- 参数:
name – 字段名
file_bytes – 文件字节数据
filename – 文件名
- 返回:
当前实例,支持链式调用
- set_follow_redirects(follow: bool) hutool.httpx_client.http_request.HttpRequest¶
设置是否跟随重定向(与 follow_redirects 相同)。
- 参数:
follow – 是否跟随重定向
- 返回:
当前实例,支持链式调用
- set_follow_redirects_cookie(follow: bool) hutool.httpx_client.http_request.HttpRequest¶
设置重定向时是否携带 Cookie。
- 参数:
follow – 是否携带 Cookie
- 返回:
当前实例,支持链式调用
- set_max_redirect_count(count: int) hutool.httpx_client.http_request.HttpRequest¶
设置最大重定向次数。
- 参数:
count – 最大重定向次数
- 返回:
当前实例,支持链式调用
- set_http_proxy(http_proxy: str) hutool.httpx_client.http_request.HttpRequest¶
设置 HTTP 代理。
- 参数:
http_proxy – 代理地址,如 ‘http://proxy:8080’
- 返回:
当前实例,支持链式调用
- set_connection_timeout(timeout_ms: int) hutool.httpx_client.http_request.HttpRequest¶
设置连接超时时间(毫秒)。
- 参数:
timeout_ms – 连接超时毫秒数
- 返回:
当前实例,支持链式调用
- set_read_timeout(timeout_ms: int) hutool.httpx_client.http_request.HttpRequest¶
设置读取超时时间(毫秒)。
- 参数:
timeout_ms – 读取超时毫秒数
- 返回:
当前实例,支持链式调用