Być może występują problemy z certyfikatami. Zwykle jest to problem, z którym miałem do czynienia w przeszłości podczas pracy z połączeniami HTTPS w Javie.
Najpierw należy sprawdzić, czy adres URL, z którym próbujesz się połączyć, ma podpisany certyfikat od znanego zaufanego głównego urzędu certyfikacji i jest ważny (nie wygasł).
Polecam otwarcie adresu URL w przeglądarce i sprawdzenie informacji o certyfikacie.
Tylko FYI może występować rozłączenie między zaufanymi głównymi urzędami certyfikacji rozpoznanymi przez przeglądarkę i tymi rozpoznawanymi przez Javę. Oto kolejny Stackoverflow pytanie o tym, jak uzyskać te, uznane przez Java: How can I get a list of trusted root certificates in Java?
Jeśli jest to certyfikat z podpisem własnym, to nie są obręcze trzeba będzie przeskoczyć dotyczące importowania go do i korzystania z lokalnego magazynu kluczy. Istnieje wiele witryn i blogów, które poprowadzi Cię przez ten sposób, tutaj jest jeden taki blog (nie moje): Adding self-signed https certificates to java keystore
Również podczas testowania z przeglądarki, to pomoże Ci sprawdzić, czy nie ma problemów proxy. Zdecydowanie sprawdź ustawienia przeglądarki, aby określić, czy korzystasz z serwera proxy.
Powinieneś zdecydowanie zajrzeć do HttpClient zamiast do java.net.URL. Oto Apache page for HttpClient 4.2.1.
Wreszcie, jeśli chcesz wykonać transfer plików przez HTTP lub HTTPS, możesz rozważyć WebDAV.
W przeszłości używałem do tego celu klienta aplikacji WebDAV firmy Jakarta Slide. Niestety wygląda to na Slide is retired at this point, ale istnieją alternatywy, które można znaleźć przy odrobinie poszukiwań.
ADDITION
skopiowałem swój przykładowy kod źródłowy i spojrzał na nią bliżej. Wygląda na to, że ustawiłeś właściwości dla http, ale nie https.
HTTPS posiada odrębne właściwości:
- https.proxyHost
- HTTPS.proxyPort ustawienie
Spróbuj:
System.setProperty("https.proxyHost","trproxy.rwe.com") ;
System.setProperty("https.proxyPort", "443") ;
Look w punkcie 2.2 na Oracle's Java Networking and Proxies.
http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html
Sprawdźcie tutaj: http://stackoverflow.com/questions/2642777/trusting-all-certificates-using-httpclient-over-https –