Java中使用Base64编码URL作为URL的参数

发布于 2011-09-12 | 更新于 2025-06-14

有时候我们需要使用一个URL作为URL地址的参数来传递,假如我们需要传递的URL含有参数,例如:

/shopping/confirm.action?id=1&name=itzhai

那么按照如下的方法传送,那么,参数会丢失:

www.itzhai.com/submit.action?url=/shopping/confirm.action?id=1&name=itzhai;

为了能正常的传递参数,我们可以使用Base64对URL进行编码后再传递,接收到时再进行解码,这样就可以正确获取到传递的URL了。下面是基本的代码:

引入Jar包

import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;

为URL编码:

1
2
String url = "/shopping/confirm.action?id=1&name=itzhai";
String code = new String(Base64.encode(url.getBytes()));

这样获得的code为:

L3Nob3BwaW5nL2NvbmZpcm0uYWN0aW9uP2lkPTEmbmFtZT1pdHpoYWk=

然后接受到该code时,就可以为URL解码了:

1
String url = new String(Base64.decode("L3Nob3BwaW5nL2NvbmZpcm0uYWN0aW9uP2lkPTEmbmFtZT1pdHpoYWk="));

本文作者: arthinking

本文链接: https://www.itzhai.com/base64-encoding-in-java-using-a-url-as-a-url-parameter.html

版权声明: 版权归作者所有,未经许可不得转载,侵权必究!联系作者请订阅本站。

×
帅旋DevShow

订阅及时获取网站内容更新。

充电

当前电量:100%

帅旋DevShow

订阅我,及时获取网站内容更新。