我想使用scalaj-http中的Http()方法记录发送的完整HTTP请求和接收的响应。怎么做。
我的Http()方法代码如下:
Http(url)
.method("GET")
.params(queryParameters )
.option(HttpOptions.allowUnsafeSSL)
.timeout(connTimeoutMs = HttpConnectionProperties.httpConTimeout, readTimeoutMs = HttpConnectionProperties.httpReadTimeout)
.asString
我想记录在后台发送的完整HTTP请求和响应。
答案 0 :(得分:0)
HttpRequest并非与通过 电线,它只是某些客户端状态的包装。目前没有 准确打印出像卷发一样通过电线发送的内容的方法
我们可以创建一个包装实用程序函数,将其记录为副作用
def httpWithLogging(...) = {
val request =
Http(url)
.method("GET")
.params(queryParameters )
.option(HttpOptions.allowUnsafeSSL)
.timeout(connTimeoutMs = HttpConnectionProperties.httpConTimeout,
readTimeoutMs = HttpConnectionProperties.httpReadTimeout)
val response = request.asString
println(request)
println(response)
response.asString
}
我们还可以通过以下方式启用详细的wire logging
System.setProperty("javax.net.debug","all")
但可以是noisy。