一个简单的 Akka Http 请求是否可能与 curl 请求有很大不同?

Is it possible that a simple Akka Http request is so much different from a curl one?

我正在尝试从欧洲中央银行下载数据 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 完全相同,这意味着请求本身必须不同。这怎么可能?

您似乎需要在请求中添加接受 header。这似乎有效:

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

您调用的服务似乎需要接受 header 并且 curl 默认添加 Accept: */* header。