一个简单的Akka Http请求与卷发请求有很大不同吗?

时间:2018-09-03 15:28:35

标签: scala http curl akka-http

我正在尝试从欧洲中央银行API下载数据。简单的卷曲效果很好: curl "https://sdw-wsrest.ecb.europa.eu/service/data/EXR/D.USD.EUR.SP00.A?startPeriod=2018-06-06&endPeriod=2018-06-06"

但是当我尝试使用Akka Http实现相同的目的时,突然我收到500错误。以下是代码(您可以在浏览器中运行它并亲自查看):https://scastie.scala-lang.org/ynqKN3ClQJmPUruybgR37g。因为URL完全相同,所以这意味着请求本身必须不同。那怎么可能?

1 个答案:

答案 0 :(得分:3)

您似乎需要在请求中添加一个Accept标头。这似乎可行:

val httpRequest = HttpRequest(
  method = HttpMethods.GET,
  headers = List(Accept()),
  uri = uri)
val futureResponse = Http().singleRequest(httpRequest)

您正在调用的服务似乎需要接受标头,并且curl默认情况下会添加Accept: */*标头。