У меня проблема с доступом к API PayPal (песочнице). Код
import groovyx.net.http.*
import static groovyx.net.http.ContentType.*
import static groovyx.net.http.Method.*
HTTPBuilder http = new HTTPBuilder( 'https://api.sandbox.paypal.com/v1' )
http.auth.basic clientId, secret
http.headers.Accept = 'application/json'
http.headers[ 'Accept-Language' ] = 'en_US'
http.request( POST ){
uri.path = '/oauth2/token'
requestContentType = URLENC
body = 'grant_type=client_credentials'
response.success = { resp, json ->
println json
}
}
на моем локальном компьютере дает
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
Если я запускаю curl
curl -v https://api.sandbox.paypal.com/v1/oauth2/token -H "Accept: application/json" -H "Accept-Language: en_US" -H "Authorization: Basic {base64 text}=" -d "grant_type=client_credentials"
Я получил:
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Если я запускаю тот же запрос в Postman
, он работает гладко.
Что мне не хватает?
ОБНОВИТЬ:
Если я добавлю -Djavax.net.debug=ssl:handshake
, появится следующая отладочная информация
http-bio-8880-exec-3, ЗАПИСЬ: TLSv1 Handshake, длина = 149 http-bio-8880-exec-3, ЧТЕНИЕ: Предупреждение TLSv1, длина = 2 http-bio-8880-exec-3 , RECV TLSv1 ALERT:
фатальный, сбой рукопожатия http-bio-8880-exec-3, вызываемый closeSocket() http-bio-8880-exec-3, исключение обработки: javax.net.ssl.SSLHandshakeException: Получено фатальное предупреждение: сбой рукопожатия
-k
переключить завиток? - person Opal   schedule 12.03.2016ignoreSSLIssues()
безуспешно - person injecteer   schedule 12.03.2016-k
ничего не меняет - person injecteer   schedule 13.03.2016client id
иsecret
. затем вы можете запустить запросcurl
/postman
в соответствии с developer.paypal.com/docs/integration/direct/ - person injecteer   schedule 13.03.2016TLS1.2
, и я пока не знаю, как их обновить. - person injecteer   schedule 20.03.2016