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.

Articole similare