Как сделать запрос HTTPS (не HTTP) с использованием akka-http?

Я использую следующий код для выполнения HTTP-запроса с библиотекой akka-http внутри Akka Actor:

implicit val materializer = ActorFlowMaterializer()
implicit val system = context.system

val request = HttpRequest(HttpMethods.GET, "http://ya.ru")
val content = for {
  response <- Http().singleRequest(request)
  content <- Unmarshal(response.entity).to[String]
} yield content

Все работает нормально, но теперь я хочу сделать HTTPS-запрос (просто замените http:// на https://). После этого переменная content будет содержать следующий ответ:

<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx</center>
</body>
</html>

Похоже, akka-http не поддерживает протокол HTTPS. Правильно или возможно отправить HTTPS-запрос с использованием akka-http?


person Maxim    schedule 02.07.2015    source источник


Ответы (1)


Если вы посмотрите на официальная документация, вы можете видеть, что вам нужно настроить контекст HTTPS. Тогда это должно работать.

person S.Löwe    schedule 02.07.2015
comment
Я использовал старую версию akka-http (RC2 вместо RC4) и ArtiftId (akka-http-scala-experimental вместо akka-http-experimental) в моем build.sbt. Ваш ответ помог мне понять это. - person Maxim; 02.07.2015