Rumah > Java > javaTutorial > Bagaimana untuk Mengekodkan URL HTTP dengan betul dalam Java Menggunakan Kelas java.net.URI?

Bagaimana untuk Mengekodkan URL HTTP dengan betul dalam Java Menggunakan Kelas java.net.URI?

Linda Hamilton
Lepaskan: 2024-12-18 12:42:18
asal
219 orang telah melayarinya

How to Properly Encode HTTP URLs in Java Using the java.net.URI Class?

Cara Mengekodkan URL HTTP dengan betul dalam Java

Apabila bekerja dengan URL dalam Java, adalah penting untuk mengekodnya dengan betul untuk memastikan ia ditafsirkan dengan tepat oleh pelayan. Walaupun java.net.URLEncoder boleh membantu dalam pengekodan borang HTML, ia gagal apabila ia berkaitan dengan pengekodan URL HTTP. Artikel ini meneroka cara mengekod URL HTTP dengan berkesan menggunakan kelas java.net.URI.

Kelas java.net.URI menyediakan cara untuk memanipulasi dan mengekod komponen URI dan URL. Pembina hujah tunggal URI tidak terlepas daripada aksara haram, meninggalkan anda dengan ralat seperti yang diterangkan dalam soalan. Untuk menangani isu ini, anda harus menggunakan pembina dengan berbilang argumen, seperti:

URI uri = new URI("http", "search.barnesandnoble.com", "/booksearch/first book.pdf", null);
URL url = uri.toURL();
Salin selepas log masuk

Pendekatan ini secara berkesan melarikan diri daripada aksara yang menyalahi undang-undang, memberikan anda hasil yang diingini:

http://search.barnesandnoble.com/booksearch/first%20book.pdf
Salin selepas log masuk

Ia adalah penting untuk ambil perhatian bahawa pengekodan ini hanya mempengaruhi aksara yang menyalahi undang-undang, bukan aksara bukan ASCII. Untuk String yang mengandungi hanya aksara AS-ASCII, anda boleh menggunakan kaedah toASCIIString:

URI uri = new URI("http", "search.barnesandnoble.com", "/booksearch/é", null);
String request = uri.toASCIIString();
Salin selepas log masuk

Ini amat berguna untuk URL dengan pertanyaan yang mengandungi aksara bukan ASCII:

URI uri = new URI("http", "www.google.com", "/ig/api", "weather=São Paulo", null);
String request = uri.toASCIIString();
Salin selepas log masuk

Dengan memanfaatkan kelas java.net.URI, anda boleh mengekod URL HTTP dengan berkesan, memastikan ia dikendalikan dengan betul oleh pelayan dan menghasilkan perolehan data yang tepat.

Atas ialah kandungan terperinci Bagaimana untuk Mengekodkan URL HTTP dengan betul dalam Java Menggunakan Kelas java.net.URI?. 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