hutool.httpx_client.http_response

Module Contents

Classes

HttpResponse

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

获取Set-Cookie头值

返回:

Cookie字符串

get_cookies() dict

获取所有Cookie

返回:

Cookie字典

获取指定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