Jeśli to zrobię ...
conn = new URL(urlString).openConnection();
System.out.println("Proxy? " + conn.usingProxy());
drukuje
Proxy? false
Problem w tym, że jestem za proxy. Skąd maszyna JVM pobiera informacje o serwerze proxy w systemie Windows? Jak to ustawić? Wszystkie moje inne aplikacje wydają się być całkowicie zadowolone z mojego serwera proxy.
new PasswordAuthentication("domainName\\user", "password".toCharArray());
Odpowiedź na to pytanie jest dość łatwa w Internecie. Ustaw właściwości systemu
http.proxyHost
ihttp.proxyPort
. Możesz to zrobić za pomocąSystem.setProperty()
lub z wiersza poleceń ze-D
składnią.źródło
Serwery proxy są obsługiwane przez dwie właściwości systemowe: http.proxyHost i http.proxyPort. Muszą być ustawione odpowiednio na serwer proxy i port. Ilustruje to następujący podstawowy przykład:
źródło
commons-httpclient
? Ponieważ Java obsługuje proxy i uwierzytelnianie (jak wspomniałeś tutaj stackoverflow.com/questions/1626549/… ), w prostych przypadkach (takich jak pobranie jednego pliku z publicznego serwera HTTP) nie ma powodu, aby używać biblioteki Apache. Jaka jest Twoja rekomendacja?systemProperties
nie jest używana przezconnection
!Możesz także ustawić
W systemie Windows i Linux użyje to ustawień systemowych, więc nie musisz się powtarzać (DRY)
http://docs.oracle.com/javase/7/docs/api/java/net/doc-files/net-properties.html#Proxies
źródło
System.setProperty
niegohttps.proxyHost
izhttps.proxyPort
jakiegoś powodu nie kroiliśmy musztardy.Ustaw śledzenie, zanim otworzysz Connection,
Jeśli serwer proxy wymaga uwierzytelnienia,
źródło
W przypadku Javy 1.8 i nowszych musisz ustawić
-Djdk.http.auth.tunneling.disabledSchemes=
serwery proxy z autoryzacją podstawową współpracujące z https.źródło
Zatwierdzona odpowiedź będzie działać ... jeśli znasz swój host proxy i port =). Ale jeśli szukasz hosta proxy i portu, poniższe kroki powinny pomóc
kudos to bekur from maven w 5 minut nie działa
Gdy masz już hosta i port, po prostu wejdź do tego i gotowe
źródło