2015-07-02 5 views
5

Я использую следующий код, чтобы сделать запрос HTTP с akka-http библиотекой внутри Akka Актер:Как сделать запрос HTTPS (не HTTP) использовать akka-http?

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?

ответ

4

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

+0

Я использовал старую версию 'akka-http' (RC2 вместо RC4) и artifactId (' akka-http-scala-experimental' вместо 'akka-http-experimental') в моей' build.sbt'. Ваш ответ помог мне это получить. –