ホームページ > Java > &#&チュートリアル > java.net.URI クラスを使用して Java で HTTP URL を適切にエンコードする方法

java.net.URI クラスを使用して Java で HTTP URL を適切にエンコードする方法

Linda Hamilton
リリース: 2024-12-18 12:42:18
オリジナル
219 人が閲覧しました

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

Java で HTTP URL を適切にエンコードする方法

Java で URL を操作する場合、URL を正しくエンコードして、サーバーによって正確に解釈されます。 java.net.URLEncoder は HTML フォームのエンコードには役立ちますが、HTTP URL エンコードに関しては不十分です。この記事では、java.net.URI クラスを使用して HTTP URL を効果的にエンコードする方法について説明します。

java.net.URI クラスは、URI および URL コンポーネントを操作およびエンコードする方法を提供します。 URI の単一引数コンストラクターは不正な文字をエスケープしないため、質問で説明されているようなエラーが発生します。この問題に対処するには、次のような複数の引数を持つコンストラクターを利用する必要があります。

URI uri = new URI("http", "search.barnesandnoble.com", "/booksearch/first book.pdf", null);
URL url = uri.toURL();
ログイン後にコピー

このアプローチでは、不正な文字が効果的にエスケープされ、次のような望ましい結果が得られます。

http://search.barnesandnoble.com/booksearch/first%20book.pdf
ログイン後にコピー

Itこのエンコーディングは不正な文字にのみ影響し、非 ASCII 文字には影響しないことに注意することが重要です。 US-ASCII 文字のみを含む String の場合、toASCIIString メソッドを使用できます:

URI uri = new URI("http", "search.barnesandnoble.com", "/booksearch/é", null);
String request = uri.toASCIIString();
ログイン後にコピー

これは、非 ASCII 文字を含むクエリを含む URL に特に役立ちます:

URI uri = new URI("http", "www.google.com", "/ig/api", "weather=São Paulo", null);
String request = uri.toASCIIString();
ログイン後にコピー

java.net.URI クラスを利用すると、HTTP URL を効果的にエンコードして、サーバーによって正しく処理され、正確な URL が得られるようになります。データの取得。

以上がjava.net.URI クラスを使用して Java で HTTP URL を適切にエンコードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート