Pengeluaran Nama Domain daripada URL
Tugas mengekstrak nama domain daripada URL kerap timbul. Artikel ini membincangkan pelaksanaan Java biasa untuk tugasan ini dan meneroka pendekatan alternatif untuk meningkatkan ketepatan dan mengendalikan kes kelebihan yang berpotensi.
Pelaksanaan Awal
Kod Java yang disediakan bermula dengan menormalkan URL dengan menambahkan "http://" jika perlu. Ia kemudian menghuraikan URL menggunakan java.net.URL untuk mendapatkan rentetan hos. Akhir sekali, jika hos bermula dengan "www", subrentetan selepas "www." dikembalikan sebagai nama domain.
Pendekatan Alternatif
Walau bagaimanapun, pendekatan ini mempunyai had:
Pelaksanaan Yang Dipertingkat
Untuk menangani isu ini, kami mengesyorkan menggunakan java.net.URI untuk Penghuraian URL. URI menyediakan pendekatan yang lebih mantap dan boleh dipercayai:
<code class="java">public static String getDomainName(String url) throws URISyntaxException { URI uri = new URI(url); String domain = uri.getHost(); return domain.startsWith("www.") ? domain.substring(4) : domain; }</code>
Kod ini menukar URL kepada URI, mendapatkan rentetan hos dan mengalih keluar "www." awalan jika ada.
Pertimbangan Tambahan
Walaupun dengan pelaksanaan yang dipertingkatkan, mungkin masih terdapat beberapa kes kelebihan yang perlu diberi perhatian. RFC 3986 Lampiran B menyediakan ungkapan biasa yang boleh mengendalikan senario penghuraian URI yang lebih kompleks.
Kes Tepi
Berikut ialah beberapa kes kelebihan tambahan yang pelaksanaan awal mungkin gagal untuk mengendalikan:
Secara keseluruhan, menggunakan java.net.URI untuk penghuraian URL menyediakan cara yang lebih komprehensif dan tepat untuk mengekstrak nama domain daripada URL, terutamanya apabila berurusan dengan kompleks atau berpotensi URL tidak sah.
Atas ialah kandungan terperinci Bagaimana Mengeluarkan Nama Domain dengan Tepat daripada URL di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!