我正在使用ktor-client(ApacheHttpClient引擎)创建简单的HTTP请求
val client = HttpClient(Apache) {
engine {
followRedirects = false
this@HttpClient.expectSuccess = false
}
}
并使用它提交表单
client.submitForm<HttpResponse>(
url = "https://foo.com/login",
formParameters = Parameters.build {
append("_username", username)
append("_password", password)
})
在日志中,我可以看到我想从中获取和获取cookie的302重定向的正确响应。但是,相反,我看到客户端继续前进并发出了更多请求,最终失败了:
io.ktor.client.features.SendCountExceedException:超过最大发送计数20
如何在ktor-client中完全禁用基于302的重定向?
答案 0 :(得分:1)
ktor-client follows redirects by default,为防止无限重定向,请使用:
val client = HttpClient(HttpClientEngine) {
followRedirects = false
}