Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Menentukan URL Diubah Hala dalam Java: Pendekatan Standard dan Semakan Pra-Kandungan?

Linda Hamilton
Lepaskan: 2024-11-07 07:52:02
asal
369 orang telah melayarinya

How to Determine Redirected URLs in Java: Standard Approach and Pre-Content Check?

Cara Menentukan URL Diubah Hala dalam Java

Di Java, apabila menggunakan URLConnection untuk mengakses halaman web, anda mungkin menghadapi senario di mana URL awal mengubah hala ke lokasi lain. Menentukan URL diubah hala boleh menjadi penting untuk pemprosesan atau analisis selanjutnya.

Artikel ini menyiasat kaedah untuk mendapatkan URL diubah hala daripada maklumat medan pengepala dan membentangkan pendekatan standard menggunakan URLConnection.

Mendapatkan URL Diubah hala daripada Medan Pengepala

Sebelum ini, anda telah mengekstrak yang diubah hala URL daripada medan pengepala Set-Cookie, yang bukan kaedah standard. Walau bagaimanapun, mengakses medan pengepala Lokasi boleh menyediakan cara yang boleh dipercayai untuk mencari URL yang diubah hala.

Pendekatan Standard Menggunakan URLConnection

  1. Buat contoh URLConnection menggunakan yang asal URL.
  2. Sambung ke URL menggunakan connect().
  3. Selepas menyambung, akses kandungan menggunakan getInputStream().
  4. Selepas mendapatkan semula kandungan, hubungi getURL() pada URLConnection untuk mendapatkan URL yang diubah hala terakhir.
URLConnection con = new URL(url).openConnection();
con.connect();
InputStream is = con.getInputStream();
System.out.println("Redirected URL: " + con.getURL());
is.close();
Salin selepas log masuk

Menentukan Pengalihan Sebelum Mendapatkan Kandungan

Jika anda perlu tahu tentang pengalihan sebelum mendapatkan kandungan, ikut langkah berikut:

  1. Buat contoh HttpURLConnection.
  2. Tetapkan setInstanceFollowRedirects( false) untuk menghalang ubah hala automatik.
  3. Sambung ke URL menggunakan connect().
  4. Semak kod respons (getResponseCode()) untuk mengetahui sama ada ubah hala telah berlaku.
  5. Jika ubah hala berlaku, dapatkan lokasi baharu menggunakan getHeaderField("Lokasi") .
HttpURLConnection con = (HttpURLConnection)(new URL(url).openConnection());
con.setInstanceFollowRedirects(false);
con.connect();
int responseCode = con.getResponseCode();
String location = con.getHeaderField("Location");
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menentukan URL Diubah Hala dalam Java: Pendekatan Standard dan Semakan Pra-Kandungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!