scalaj etag无法解析

时间:2018-05-09 14:40:30

标签: scala etag if-none-match

使用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

1 个答案:

答案 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"