Rumah >Java >javaTutorial >Bagaimana untuk mencari URL yang diubah hala dalam Java?

Bagaimana untuk mencari URL yang diubah hala dalam Java?

Patricia Arquette
Patricia Arquetteasal
2024-11-11 21:21:03533semak imbas

How to Find Redirected URLs in Java?

Mencari URL Diubah Hala dalam Java

Semasa mengakses halaman web di Java, adalah penting untuk mengendalikan senario di mana URL diubah hala ke lokasi alternatif. Untuk menentukan URL yang diubah hala, anda boleh menggunakan kelas URL dan URLConnection.

Menggunakan URLConnection.getUrl()

Selepas membuat sambungan menggunakan URLConnection, anda boleh mendapatkan semula URL sebenar yang dihalakan oleh sambungan dengan menggunakan getUrl(). Ini menyediakan URL yang diubah hala, kerana sambungan secara automatik mengikut ubah hala secara lalai.

URLConnection con = url.openConnection();
con.connect();
System.out.println("Redirected URL: " + con.getURL());

Menyemak Pengalihan Sebelum Mendapatkan Kandungan

Dalam kes tertentu, anda mungkin mahu mengetahui sama ada URL mengubah hala sebelum mengambil kandungannya. Untuk mencapainya, ikuti langkah berikut:

  1. Buat kejadian HttpURLConnection dan tetapkan setInstanceFollowRedirects kepada false.
  2. Buat sambungan menggunakan connect().
  3. Dapatkan respons kod menggunakan getResponseCode(). Jika ia ialah kod ubah hala (cth., 301, 302), ia menunjukkan ubah hala.
  4. Dapatkan semula URL diubah hala sebenar menggunakan getHeaderField("Lokasi").
HttpURLConnection con = (HttpURLConnection)(new URL( url ).openConnection());
con.setInstanceFollowRedirects( false );
con.connect();
int responseCode = con.getResponseCode();
String location = con.getHeaderField( "Location" );

Atas ialah kandungan terperinci Bagaimana untuk mencari URL yang diubah hala dalam 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