class HttpClient
cangjie
public class HttpClient <: HttpMessageInvoker功能:提供便捷 HTTP 请求发送能力的客户端。
父类型:
成员概览
| 成员 | 功能 |
|---|---|
| init() | 创建使用默认处理器的 HTTP 客户端。 |
| init(HttpMessageHandler) | 使用指定消息处理器创建 HTTP 客户端。 |
| init(HttpMessageHandler, Bool) | 使用指定消息处理器和关闭策略创建 HTTP 客户端。 |
| prop baseAddress | 获取或设置基础地址。 |
| prop timeout | 获取或设置请求超时时间。 |
| prop defaultRequestHeaders | 获取默认请求头集合。 |
| func create((ClientBuilder) -> Unit) | 使用底层客户端构建器配置创建 HTTP 客户端。 |
| func get(String) | 发送 GET 请求。 |
| func get(URL) | 发送 GET 请求。 |
| func getString(String) | 发送 GET 请求并读取字符串响应。 |
| func getString(URL) | 发送 GET 请求并读取字符串响应。 |
| func getByteArray(String) | 发送 GET 请求并读取字节数组响应。 |
| func getByteArray(URL) | 发送 GET 请求并读取字节数组响应。 |
| func getStream(String) | 发送 GET 请求并返回响应流。 |
| func getStream(URL) | 发送 GET 请求并返回响应流。 |
| func post(String, ?HttpContent) | 发送 POST 请求。 |
| func post(URL, ?HttpContent) | 发送 POST 请求。 |
| func put(String, ?HttpContent) | 发送 PUT 请求。 |
| func put(URL, ?HttpContent) | 发送 PUT 请求。 |
| func delete(String, ?HttpContent) | 发送 DELETE 请求。 |
| func delete(URL, ?HttpContent) | 发送 DELETE 请求。 |
| func send(HttpRequestMessage) | 发送一个请求消息。 |
init()
cangjie
public init()功能:创建使用默认处理器的 HTTP 客户端。
init(HttpMessageHandler)
cangjie
public init(handler: HttpMessageHandler)功能:使用指定消息处理器创建 HTTP 客户端。
参数:
- handler: HttpMessageHandler - 用于发送请求的消息处理器。
init(HttpMessageHandler, Bool)
cangjie
public init(handler: HttpMessageHandler, closeHandler: Bool)功能:使用指定消息处理器和关闭策略创建 HTTP 客户端。
参数:
- handler: HttpMessageHandler - 用于发送请求的消息处理器。
- closeHandler:
Bool- 关闭客户端时是否同步关闭处理器。
prop baseAddress
cangjie
public mut prop baseAddress: ?URL功能:获取或设置基础地址。
类型:?URL
prop timeout
cangjie
public mut prop timeout: Duration功能:获取或设置请求超时时间。
类型:Duration
prop defaultRequestHeaders
cangjie
public prop defaultRequestHeaders: HttpRequestHeaders功能:获取默认请求头集合。
func create((ClientBuilder) -> Unit)
cangjie
public static func create(configure: (ClientBuilder) -> Unit): HttpClient功能:使用底层客户端构建器配置创建 HTTP 客户端。
参数:
- configure:
(ClientBuilder) -> Unit- 用于配置底层ClientBuilder的回调。
返回值:
- HttpClient - 创建出的 HTTP 客户端实例。
func get(String)
cangjie
public func get(requestUri: String): HttpResponseMessage功能:发送 GET 请求。
参数:
- requestUri:
String- 请求地址字符串。
返回值:
- HttpResponseMessage - 服务器返回的响应消息。
func get(URL)
cangjie
public func get(requestUri: URL): HttpResponseMessage功能:发送 GET 请求。
参数:
- requestUri:
URL- 请求地址。
返回值:
- HttpResponseMessage - 服务器返回的响应消息。
func getString(String)
cangjie
public func getString(requestUri: String): String功能:发送 GET 请求并读取字符串响应。
参数:
- requestUri:
String- 请求地址字符串。
返回值:
String- 响应内容字符串。
异常:
- HttpRequestException - 当响应状态码不是成功状态时抛出。
- ObjectDisposedException - 当客户端或响应内容已关闭时抛出。
func getString(URL)
cangjie
public func getString(requestUri: URL): String功能:发送 GET 请求并读取字符串响应。
参数:
- requestUri:
URL- 请求地址。
返回值:
String- 响应内容字符串。
异常:
- HttpRequestException - 当响应状态码不是成功状态时抛出。
- ObjectDisposedException - 当客户端或响应内容已关闭时抛出。
func getByteArray(String)
cangjie
public func getByteArray(requestUri: String): Array<Byte>功能:发送 GET 请求并读取字节数组响应。
参数:
- requestUri:
String- 请求地址字符串。
返回值:
Array<Byte>- 响应内容字节数组。
异常:
- HttpRequestException - 当响应状态码不是成功状态时抛出。
- ObjectDisposedException - 当客户端或响应内容已关闭时抛出。
func getByteArray(URL)
cangjie
public func getByteArray(requestUri: URL): Array<Byte>功能:发送 GET 请求并读取字节数组响应。
参数:
- requestUri:
URL- 请求地址。
返回值:
Array<Byte>- 响应内容字节数组。
异常:
- HttpRequestException - 当响应状态码不是成功状态时抛出。
- ObjectDisposedException - 当客户端或响应内容已关闭时抛出。
func getStream(String)
cangjie
public func getStream(requestUri: String): InputStream功能:发送 GET 请求并返回响应流。
参数:
- requestUri:
String- 请求地址字符串。
返回值:
InputStream- 响应内容输入流。
异常:
- HttpRequestException - 当响应状态码不是成功状态时抛出。
- ObjectDisposedException - 当客户端或响应内容已关闭时抛出。
func getStream(URL)
cangjie
public func getStream(requestUri: URL): InputStream功能:发送 GET 请求并返回响应流。
参数:
- requestUri:
URL- 请求地址。
返回值:
InputStream- 响应内容输入流。
异常:
- HttpRequestException - 当响应状态码不是成功状态时抛出。
- ObjectDisposedException - 当客户端或响应内容已关闭时抛出。
func post(String, ?HttpContent)
cangjie
public func post(requestUri: String, content: ?HttpContent): HttpResponseMessage功能:发送 POST 请求。
参数:
- requestUri:
String- 请求地址字符串。 - content: ?HttpContent - 请求内容体。
返回值:
- HttpResponseMessage - 服务器返回的响应消息。
func post(URL, ?HttpContent)
cangjie
public func post(requestUri: URL, content: ?HttpContent): HttpResponseMessage功能:发送 POST 请求。
参数:
- requestUri:
URL- 请求地址。 - content: ?HttpContent - 请求内容体。
返回值:
- HttpResponseMessage - 服务器返回的响应消息。
func put(String, ?HttpContent)
cangjie
public func put(requestUri: String, content: ?HttpContent): HttpResponseMessage功能:发送 PUT 请求。
参数:
- requestUri:
String- 请求地址字符串。 - content: ?HttpContent - 请求内容体。
返回值:
- HttpResponseMessage - 服务器返回的响应消息。
func put(URL, ?HttpContent)
cangjie
public func put(requestUri: URL, content: ?HttpContent): HttpResponseMessage功能:发送 PUT 请求。
参数:
- requestUri:
URL- 请求地址。 - content: ?HttpContent - 请求内容体。
返回值:
- HttpResponseMessage - 服务器返回的响应消息。
func delete(String, ?HttpContent)
cangjie
public func delete(requestUri: String, content: ?HttpContent): HttpResponseMessage功能:发送 DELETE 请求。
参数:
- requestUri:
String- 请求地址字符串。 - content: ?HttpContent - 请求内容体。
返回值:
- HttpResponseMessage - 服务器返回的响应消息。
func delete(URL, ?HttpContent)
cangjie
public func delete(requestUri: URL, content: ?HttpContent): HttpResponseMessage功能:发送 DELETE 请求。
参数:
- requestUri:
URL- 请求地址。 - content: ?HttpContent - 请求内容体。
返回值:
- HttpResponseMessage - 服务器返回的响应消息。
func send(HttpRequestMessage)
cangjie
public func send(request: HttpRequestMessage): HttpResponseMessage功能:发送一个请求消息。
参数:
- request: HttpRequestMessage - 要发送的请求对象。
返回值:
- HttpResponseMessage - 服务器返回的响应消息。
异常:
- ObjectDisposedException - 当当前客户端已关闭时抛出。
UnsupportedException- 当请求地址无效或客户端状态不允许时抛出。