strLocation のパラメータの値が特別な文字を持っているため、URLの下を処理する方法を誰かが提案できますか? 前もって感謝します
http://localhost:8080/safp/contacts/FirmAddress.do?btnAction=FirmAddress&firmId=122379069&strLocation=!@#$%^&*()_+&async=true&newAccID=112
strLocation のパラメータの値が特別な文字を持っているため、URLの下を処理する方法を誰かが提案できますか? 前もって感謝します
http://localhost:8080/safp/contacts/FirmAddress.do?btnAction=FirmAddress&firmId=122379069&strLocation=!@#$%^&*()_+&async=true&newAccID=112
URLEncoderを使用して、URL 文字列を特殊文字でエンコードします。文字列をエンコードする場合、次の規則が適用されます。
- 英数字の「a」から「z」、「A」から「Z」、および「0」から「9」は同じままです。
- 特殊文字「.」、「-」、「*」、および「_」は変わりません。
- スペース文字「 」はプラス記号「+」に変換されます。
- 他のすべての文字は安全ではなく、最初に何らかのエンコード方式を使用して 1 つ以上のバイトに変換されます。次に、各バイトは
3 文字の文字列 "%xy" で表されます。ここで、xy は
バイトの 2 桁の 16 進数表現です。推奨されるエンコード
方式は UTF-8 です。ただし、互換性の理由から、
エンコーディングが指定されていない場合は、プラットフォームのデフォルトのエンコーディング
が使用されます。
たとえば、UTF-8 をエンコード スキームとして使用すると、文字列The string ü@foo-bar
が変換されますThe+string+%C3%BC%40foo-bar
。これは、UTF-8 では文字 ü が C3 (16 進数) と BC (16 進数) の 2 バイトとしてエンコードされ、文字 @ が 1 バイト 40 ( 16 進数)。
URLEncoder .encode()を使用する
String url="http://localhost:8080/safp/contacts/FirmAddress.do?btnAction=FirmAddress&firmId="+URLEncoder.encode("122379069","UTF-8")+"&strLocation="+URLEncoder.encode("!@#$%^&*()_+","UTF-8")+"&async=true&newAccID=112";
encode
注:送信元もエンコードするため、URL 全体を使用しないで//
ください。http://