Kann mir jemand helfen, HTTP-Verbindungen mit Servernamen in Java zu starten?
Ich versuche, Inhalte von einer Website anzufordern, die ich administriere. Ich habe die Apache-HttpClient-Bibliothek verwendet, aber meine Anfrage für sicheren Inhalt schlägt fehl, da die Website nur SNI für HTTPS verwendet und SNI nicht im DefaultHttpClient aktiviert ist. Ich habe nach einer Anleitung gesucht, wie ich das in der HttpClient-Bibliothek von Apache angehen kann, aber ich sehe am Ende dieses Dokuments: Ссылка , was veraltet ist (Verweis auf den Code zurück, als HttpClient und HttpCore Teil des Apaches Commons-Pakets waren).
Also ... irgendeine Hilfe?
Vielleicht möchten Sie Ссылка
nachverfolgenDie zugrunde liegende Client-Implementierung von Java 7 ist in der Lage, sie zu unterstützen und stellt das Feature über SSLSocketImpl # setHost (von sun.net.www.protocol.https.HttpsClient
aufgerufen) zur Verfügungauf Java 7 verwenden
%Vor%bis HTTPCLIENT-1119 behoben ist
mit einem kurzen Fix wie unter: TLS mit SNI in Java-Clients Es ist möglich, SNI Server Support zu JDK 7 hinzuzufügen und es zusammen mit X509ExtendedKeyManager zu verwenden.
Was für mich funktionierte, war die korrekte Konfiguration von ServerName
in der Apache-Konfiguration:
/etc/apache2/sites-avaible/default
Wie gesagt in Ссылка .