我正在尝试从欧洲中央银行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完全相同,这意味着请求本身必须不同。怎么可能?
看起来您需要在请求中添加Accept标头。这似乎有效:
val httpRequest = HttpRequest(
method = HttpMethods.GET,
headers = List(Accept()),
uri = uri)
val futureResponse = Http().singleRequest(httpRequest)
您正在调用的服务似乎需要Accept标头,curl默认添加一个Accept: */*
标头。