immer javax.net.ssl.SSLException: Received fatal alert: protocol_version, während das Schaben von Daten mit Jsoup

Ich versuche Daten aus einer Website mit Jsoup.
Link zur Website ist Klicken Sie hier!

Hier ist mein code zum abrufen der Daten.
`

    //WARNING: do it only if security isn't important, otherwise you have 
    //to follow this advices: http://stackoverflow.com/a/7745706/1363265
    //Create a trust manager that does not validate certificate chains
    TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager(){
        public X509Certificate[] getAcceptedIssuers(){return null;}
        public void checkClientTrusted(X509Certificate[] certs, String authType){}
        public void checkServerTrusted(X509Certificate[] certs, String authType){}
    }};

    //Install the all-trusting trust manager
    try {
        SSLContext sc = SSLContext.getInstance("TLS");
        sc.init(null, trustAllCerts, new SecureRandom());
        HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    } catch (Exception e) {
        ;
    }`


String url = "https://www.sos.nh.gov/corporate/soskb/SearchResults.asp?FormName=CorpNameSearch&Words=Starting&SearchStr="+query+"&SearchType=Search";
Connection.Response response = Jsoup.connect(url).timeout(30000)
.method(Connection.Method.GET)
.userAgent("Mozilla/5.0 (Windows NT 10.0; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0")
.execute();
Document document = response.parse();

Bitte schlagen Sie mich, was ist mein Fehler hier.

Die Chiffren funktioniert die Website verwenden ? Welche Java-version benutzt du ? Es ist wahrscheinlich, die Seite verlangt für sslv3 und Ihre Java-support entfernt
die java-version ist 7. Welche Java version wird es unterstützt? Oder irgendwelche Drittanbieter-Bibliothek sollte es tun?
Sie haben zu prüfen, welche Ssl / tls version der besagten web-server unterstützt. Es könnte sein, Sie fordern mehr als es unterstützt. Google, wie man OpenSSL für diese Informationen bekommen, ich bin sicher, Sie finden die Infos hier auf stackoverflow.
Subhasish: Andere Möglichkeit: diese Website akzeptiert TLSv1.2 nur, und Java7-client standardmäßig nicht tut 1.2 (oder 1.1). Da Jsoup verwendet HttpsURLConnection, wenn Sie nicht aktualisieren, um Java8, können Sie die system property https.protocols=TLSv1,TLSv1.1,TLSv1.2. Auch, mit, dass alle-Vertrauen TrustManager bedeutet, dass so ziemlich jeder mit Zugang zu Ihrem Netzwerk kann fake diese Seite und offenlegen sensible Daten, die Sie senden.
Ich war nur raten, gut Sie überprüft die Angaben. Möchten, deaktivieren Sie diese in eine Antwort ?

InformationsquelleAutor subhfyu546754 | 2015-11-08

Schreibe einen Kommentar