我正在尝试从欧洲中央银行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完全相同,所以这意味着请求本身必须不同。那怎么可能?
答案 0 :(得分:3)
您似乎需要在请求中添加一个Accept标头。这似乎可行:
val httpRequest = HttpRequest(
method = HttpMethods.GET,
headers = List(Accept()),
uri = uri)
val futureResponse = Http().singleRequest(httpRequest)
您正在调用的服务似乎需要接受标头,并且curl默认情况下会添加Accept: */*
标头。