使用scalaj.http 2.4我无法为此简单调用获取If-None-Match
etag的正确代码:
import scalaj.http.Http
object EtagTest extends App {
val firstResponse = Http("https://api.github.com/users/octocat/orgs")
// get correct etag ...
val response = Http("https://api.github.com/users/octocat/orgs").header("If-None-Match", "\"98f0c1b396a4e5d54f4d5fe561d54b44\"").asString
println(response.code)
}
我期待304 Not Modified
,但我得到200
。
答案 0 :(得分:1)
我尝试了以下内容,它对我有用。您在此计划中获得的ETag
似乎不是您在计划中硬编码的ETag
。奇怪的是,当我向它发送cURL请求时,返回的ETag
是你硬编码的那个。
import scalaj.http.Http
object ETagTest extends App {
val firstResponse = Http("https://api.github.com/users/octocat/orgs").asString
val response = Http("https://api.github.com/users/octocat/orgs").header("If-None-Match", firstResponse.header(key = "ETag").get).asString
println(response.code)
println(response.header(key = "ETag").get)
}
以上输出:
304
"80b190627d4c87e9a37c34e20ea246a1"