Rumah >Java >javaTutorial >Bagaimana untuk mendapatkan semula URL yang diubah hala di Java?

Bagaimana untuk mendapatkan semula URL yang diubah hala di Java?

Susan Sarandon
Susan Sarandonasal
2024-11-08 11:16:02245semak imbas

How to Retrieve Redirected URLs in Java?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn