Java URLConnection: setați proxy-ul fără a schimba URL-ul
Nu tratați proxy-ul ca pe un server web și transmiteți ruta ca opțiune separată de conexiune Java.
Păstrați URL-ul real al resursei și transmiteți proxy-ul separat către URLConnection:
URI destination = URI.create("https://example.com/report");
Proxy proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("203.0.113.10", 8080));
URLConnection connection = destination.toURL().openConnection(proxy);
connection.setConnectTimeout(5000);
connection.setReadTimeout(10000);java.net importurile și înlocuiți adresa proxy din documentație cu serviciul dumneavoastră HTTP sau cu un candidat din lista de proxy-uri HTTP. Conexiunea solicită în continuare https://example.com/report; proxy-ul este ruta ei. Această configurare nu setează nici credențiale, nici fiecare bibliotecă HTTP din JVM.
Codul greșit care substituie proxy-ul în URL-ul resursei poate primi rapid o pagină web de proxy sau o eroare în locul raportului. Comparați starea, conținutul și destinația reală înainte de a interpreta acel răspuns rapid ca performanță mai bună.
openConnection(Proxy) lasă calea resursei pe URI-ul de destinație. Păstrați acel nume de gazdă și pentru verificarea certificatului HTTPS; înlocuirea lui cu intermediarul poate adăuga o nepotrivire de nume la eroarea de rutare.
Dacă aplicația construiește un alt client HTTP, folosiți acel client sau interfața fabricii sale de conexiuni. Un obiect proxy URLConnection nu poate configura o cale care nu apelează niciodată acest API.