Pendapatan Semula URL Java
Apabila mengakses halaman web melalui URLConnection Java, adalah penting untuk mengendalikan pengalihan URL. Untuk mendapatkan URL yang diubah hala, teknik standard wujud selain daripada bergantung semata-mata pada medan pengepala seperti "Set-Cookie".
Kaedah utama untuk menentukan URL diubah hala adalah dengan memanggil getUrl() pada contoh URLConnection selepas mewujudkan sambungan :
URLConnection con = new URL(url).openConnection(); // Connect to the URL con.connect(); // Obtain the redirected URL URL redirectedURL = con.getURL();
Mekanisme ini menangkap URL yang diubah hala dengan tepat tanpa mengira jawapan perantaraan atau tiada medan pengepala "Lokasi".
Untuk keadaan di mana anda perlu mengesahkan pengalihan sebelum mengambil kandungan, perkara berikut pendekatan disyorkan:
HttpURLConnection con = (HttpURLConnection)(new URL(url).openConnection()); // Deactivate automatic redirection following con.setInstanceFollowRedirects(false); // Establish the connection con.connect(); // Retrieve the response code int responseCode = con.getResponseCode(); // Examine the response code for redirection if (responseCode == HttpURLConnection.HTTP_MOVED_TEMP || responseCode == HttpURLConnection.HTTP_MOVED_PERM || responseCode == HttpURLConnection.HTTP_SEE_OTHER) { // Fetch the "Location" header field String location = con.getHeaderField("Location"); // Print the redirected URL System.out.println(location); }
Kaedah ini menyediakan mekanisme yang boleh dipercayai untuk mengendalikan ubah hala URL dalam Java, memastikan maklumat URL yang tepat semasa navigasi web.
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan semula URL yang diubah hala di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!