Memandangkan URL, mengekstrak nama domain adalah tugas biasa dalam pembangunan web dan pemprosesan data. Walau bagaimanapun, ia boleh mencabar kerana kerumitan sintaks URL dan kemungkinan kes kelebihan.
Dalam perbincangan ini, kami menyediakan penyelesaian Java yang mengekstrak nama domain daripada URL dan menangani kemungkinan perangkap dan kes tepi:
Penyelesaian yang disediakan menggunakan java.net.URI dan bukannya java.net.URL untuk menghuraikan URL:
<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>
Pendekatan ini mengelakkan beberapa isu dengan java.net .URL, seperti kelemahannya terhadap serangan penafian perkhidmatan dan kekurangan sokongan untuk URL relatif.
Penyelesaian asal gagal untuk beberapa kes tepi, termasuk:
Untuk URL dengan format yang kompleks dan berkemungkinan tidak sah, anda boleh menggunakan ungkapan biasa berdasarkan Lampiran B RFC 3986. Walau bagaimanapun, pendekatan ini lebih kompleks dan mungkin tidak mengendalikan semua kes tepi dengan betul.
Mengekstrak nama domain daripada URL memerlukan berhati-hati pertimbangan sintaks URL dan kemungkinan kes kelebihan. Penyelesaian Java yang disediakan menangani banyak isu ini dan memastikan pengekstrakan nama domain yang boleh dipercayai. Apabila mengendalikan URL yang lebih kompleks atau input tidak sah, penghurai berasaskan ungkapan biasa mungkin diperlukan.
Atas ialah kandungan terperinci Bagaimana Anda Boleh Mengeluarkan Nama Domain daripada URL di Java dengan Amanah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!