hutool.httpx_client.http_response¶
Module Contents¶
Classes¶
HTTP响应对象 |
API¶
- class hutool.httpx_client.http_response.HttpResponse(response: httpx.Response, charset: str = 'utf-8')¶
HTTP响应对象
封装httpx.Response,提供便捷的响应数据访问方法。
Initialization
构造HTTP响应
- 参数:
response – httpx响应对象
charset – 字符集,默认utf-8
- property status: int¶
获取HTTP状态码
- 返回:
HTTP状态码,如200、404等
- property headers: Dict[str, str]¶
获取响应头
- 返回:
响应头字典
- property body: str¶
获取响应体字符串
- 返回:
响应体字符串
- property content_length: int¶
获取响应体长度
- 返回:
响应体字节长度
- property charset: str¶
获取字符集
- 返回:
字符集名称
- property content_type: str¶
获取Content-Type
- 返回:
Content-Type头值
- property url: str¶
获取最终响应的URL(考虑重定向)
- 返回:
响应的URL字符串
- is_ok() bool¶
判断状态码是否为2xx(成功)
- 返回:
状态码在200-299范围内返回True
- to_bytes() bytes¶
获取响应体的字节数组
- 返回:
响应体字节数组
- to_json() Any¶
将响应体解析为JSON
- 返回:
解析后的JSON对象(dict或list)
- 抛出:
json.JSONDecodeError – 响应体不是有效JSON时抛出
- to_str() str¶
获取响应体字符串
使用指定的字符集解码响应体。
- 返回:
响应体字符串
- header(name: str) Optional[str]¶
获取指定名称的响应头
- 参数:
name – 响应头名称
- 返回:
响应头值,不存在时返回None
- cookie(name: str) Optional[str]¶
获取指定名称的Cookie值
- 参数:
name – Cookie名称
- 返回:
Cookie值,不存在时返回None
- __str__() str¶
返回响应的字符串表示
- 返回:
包含状态码和URL的字符串
- __repr__() str¶
返回响应的详细表示
- 返回:
包含状态码和URL的字符串
- property content_encoding: str¶
获取内容编码
- 返回:
Content-Encoding头值
- is_gzip() bool¶
是否为gzip压缩
- 返回:
是否gzip
- is_deflate() bool¶
是否为deflate压缩
- 返回:
是否deflate
- is_chunked() bool¶
是否为分块传输
- 返回:
是否chunked
- get_cookie_str() str¶
获取Set-Cookie头值
- 返回:
Cookie字符串
- get_cookies() dict¶
获取所有Cookie
- 返回:
Cookie字典
- get_cookie_value(name: str) Optional[str]¶
获取指定Cookie值(cookie方法的别名)
- 参数:
name – Cookie名称
- 返回:
Cookie值
- body_bytes() bytes¶
获取响应体字节数组(to_bytes别名)
- 返回:
响应体字节数据
- write_body(dest) int¶
将响应体写入文件
- 参数:
dest – 文件路径或文件对象
- 返回:
写入的字节数
- get_status() int¶
获取 HTTP 状态码。
与
status属性相同,提供方法风格的访问方式。- 返回:
HTTP 状态码,如 200、404 等
- sync_read() bytes¶
同步读取响应体全部内容。
对于流式响应,此方法会阻塞直到所有数据接收完毕。
- 返回:
响应体字节数据
- body_stream(chunk_size: int = 8192)¶
以迭代器方式按块读取响应体。
适用于大文件下载等场景,避免一次性加载到内存。
- 参数:
chunk_size – 每次读取的字节数,默认 8192
- 返回:
响应体字节块的迭代器
- 返回类型:
Iterator[bytes]
- get_filename_from_disposition() Optional[str]¶
从Content-Disposition头获取文件名
- 返回:
文件名,不存在时返回None