如何通过ktor-client发送带参数的Http Form

vad*_*shb 6 httpclient kotlin ktor

我在 ktor-client 文档和示例中发现几乎无处不在,他们使用空的 formData 来展示客户端的工作方式

formParameters: Parameters = Parameters.Empty
Run Code Online (Sandbox Code Playgroud)

那么 kotlin/ktor 用什么方法来填充参数呢?

vad*_*shb 7

Ktor 使用这种方式来填充参数:

client.submitForm<HttpResponse>(
        url = "https://foo.com/login",
        formParameters = Parameters.build {
            append("_username", username)
            append("_password", password)
        })
Run Code Online (Sandbox Code Playgroud)


小智 5

或者,您也可以简单地使用传递表单数据formData,例如:

client.post<HttpResponse>("https://example.com/login") {
    formData {
        parameter("username", username)
        parameter("password", password)
    }
}
Run Code Online (Sandbox Code Playgroud)