Java URLConnection: ρύθμιση του proxy χωρίς αλλαγή του URL
Αποφύγετε να διευθυνσιοδοτείτε το proxy ως διακομιστή ιστού και περάστε τη διαδρομή ως ξεχωριστή επιλογή σύνδεσης Java.
Κρατήστε το πραγματικό URL του πόρου και περάστε το proxy ξεχωριστά στο 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 και αντικαταστήστε τη διεύθυνση proxy της τεκμηρίωσης με την υπηρεσία HTTP σας ή έναν υποψήφιο από τη λίστα proxy HTTP. Η σύνδεση εξακολουθεί να ζητά https://example.com/report· το proxy είναι η διαδρομή της. Αυτή η ρύθμιση δεν διαμορφώνει ούτε διαπιστευτήρια ούτε κάθε βιβλιοθήκη HTTP στο JVM.
Λανθασμένος κώδικας που αντικαθιστά το proxy στο URL του πόρου μπορεί να λάβει μια γρήγορη ιστοσελίδα proxy ή σφάλμα αντί για την αναφορά. Συγκρίνετε κατάσταση, περιεχόμενο και πραγματικό προορισμό πριν ερμηνεύσετε τη γρήγορη απόκριση ως καλύτερη απόδοση.
openConnection(Proxy) αφήνει τη διαδρομή του πόρου στο URI προορισμού. Κρατήστε αυτό το hostname και για την επαλήθευση πιστοποιητικού HTTPS· η αλλαγή του σε ενδιάμεσο μπορεί να προσθέσει αναντιστοιχία ονόματος στο σφάλμα δρομολόγησης.
Αν η εφαρμογή κατασκευάζει άλλον πελάτη HTTP, χρησιμοποιήστε αυτόν τον πελάτη ή τη διεπαφή connection factory του. Ένα αντικείμενο proxy URLConnection δεν μπορεί να διαμορφώσει διαδρομή που δεν καλεί ποτέ αυτό το API.