Отключить SSL с помощью библиотеки рассылки Scala

В настоящее время я нахожусь в процессе переноса всех наших тестов Rest на сервер CI и заметил, что все тесты терпят неудачу из-за рукопожатия SSL, теперь я успешно отключил это с TrustManager с нашим набором тестов Java, но не уверен, как сделать это с диспетчерской библиотекой Scala, и нам не удалось найти много примеров, которые могли бы применяться в этом сценарии.

val JSONstr = "{samplekey:samplevalue}"
val response:String = Http(url("https://www.host.com/path/to/post") 
                    << (checkInJSONstr, "application/json") as_str) 

Следующее исключение происходит, как и ожидалось:

javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated at     com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:352)
...

Есть ли способ сделать это чисто синтаксически игнорировать SSL с библиотекой отправки?

2 ответа

import dispatch._
val http = new Http with HttpsLeniency
val response:String = http(url("https://www.host.com/path/to/post") 
                   << (checkInJSONstr, "application/json") as_str) 

Ответ viktortnk больше не работает с последней версией Dispatch (0.13.2). Для самой новой версии вы можете использовать следующее для создания http-клиента, который принимает любой сертификат:

val myHttp = Http.withConfiguration(config => config.setAcceptAnyCertificate(true))

Затем вы можете использовать его для GET-запросов:

myHttp(url("https://www.host.com/path").GET OK as.String)

Я нашел это здесь: Почему диспетчер генерирует исключения "java.net.ConnectException: General SSLEngine ..." и "неожиданный статус" для определенного URL?

Другие вопросы по тегам