Skip to content

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 客户端。

参数:

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

功能:获取默认请求头集合。

类型:HttpRequestHeaders

func create((ClientBuilder) -> Unit)

cangjie
public static func create(configure: (ClientBuilder) -> Unit): HttpClient

功能:使用底层客户端构建器配置创建 HTTP 客户端。

参数:

  • configure: (ClientBuilder) -> Unit - 用于配置底层 ClientBuilder 的回调。

返回值:

func get(String)

cangjie
public func get(requestUri: String): HttpResponseMessage

功能:发送 GET 请求。

参数:

  • requestUri: String - 请求地址字符串。

返回值:

func get(URL)

cangjie
public func get(requestUri: URL): HttpResponseMessage

功能:发送 GET 请求。

参数:

  • requestUri: URL - 请求地址。

返回值:

func getString(String)

cangjie
public func getString(requestUri: String): String

功能:发送 GET 请求并读取字符串响应。

参数:

  • requestUri: String - 请求地址字符串。

返回值:

  • String - 响应内容字符串。

异常:

func getString(URL)

cangjie
public func getString(requestUri: URL): String

功能:发送 GET 请求并读取字符串响应。

参数:

  • requestUri: URL - 请求地址。

返回值:

  • String - 响应内容字符串。

异常:

func getByteArray(String)

cangjie
public func getByteArray(requestUri: String): Array<Byte>

功能:发送 GET 请求并读取字节数组响应。

参数:

  • requestUri: String - 请求地址字符串。

返回值:

  • Array<Byte> - 响应内容字节数组。

异常:

func getByteArray(URL)

cangjie
public func getByteArray(requestUri: URL): Array<Byte>

功能:发送 GET 请求并读取字节数组响应。

参数:

  • requestUri: URL - 请求地址。

返回值:

  • Array<Byte> - 响应内容字节数组。

异常:

func getStream(String)

cangjie
public func getStream(requestUri: String): InputStream

功能:发送 GET 请求并返回响应流。

参数:

  • requestUri: String - 请求地址字符串。

返回值:

  • InputStream - 响应内容输入流。

异常:

func getStream(URL)

cangjie
public func getStream(requestUri: URL): InputStream

功能:发送 GET 请求并返回响应流。

参数:

  • requestUri: URL - 请求地址。

返回值:

  • InputStream - 响应内容输入流。

异常:

func post(String, ?HttpContent)

cangjie
public func post(requestUri: String, content: ?HttpContent): HttpResponseMessage

功能:发送 POST 请求。

参数:

  • requestUri: String - 请求地址字符串。
  • content: ?HttpContent - 请求内容体。

返回值:

func post(URL, ?HttpContent)

cangjie
public func post(requestUri: URL, content: ?HttpContent): HttpResponseMessage

功能:发送 POST 请求。

参数:

  • requestUri: URL - 请求地址。
  • content: ?HttpContent - 请求内容体。

返回值:

func put(String, ?HttpContent)

cangjie
public func put(requestUri: String, content: ?HttpContent): HttpResponseMessage

功能:发送 PUT 请求。

参数:

  • requestUri: String - 请求地址字符串。
  • content: ?HttpContent - 请求内容体。

返回值:

func put(URL, ?HttpContent)

cangjie
public func put(requestUri: URL, content: ?HttpContent): HttpResponseMessage

功能:发送 PUT 请求。

参数:

  • requestUri: URL - 请求地址。
  • content: ?HttpContent - 请求内容体。

返回值:

func delete(String, ?HttpContent)

cangjie
public func delete(requestUri: String, content: ?HttpContent): HttpResponseMessage

功能:发送 DELETE 请求。

参数:

  • requestUri: String - 请求地址字符串。
  • content: ?HttpContent - 请求内容体。

返回值:

func delete(URL, ?HttpContent)

cangjie
public func delete(requestUri: URL, content: ?HttpContent): HttpResponseMessage

功能:发送 DELETE 请求。

参数:

  • requestUri: URL - 请求地址。
  • content: ?HttpContent - 请求内容体。

返回值:

func send(HttpRequestMessage)

cangjie
public func send(request: HttpRequestMessage): HttpResponseMessage

功能:发送一个请求消息。

参数:

返回值:

异常:

  • ObjectDisposedException - 当当前客户端已关闭时抛出。
  • UnsupportedException - 当请求地址无效或客户端状态不允许时抛出。