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

发布于 2011-09-12 | 更新于 2020-09-20

有时候我们需要使用一个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.combase64-encoding-in-java-using-a-url-as-a-url-parameter.html

版权声明: 版权归作者所有,未经许可不得转载,侵权必究!联系作者请加公众号。

×
IT宅

关注公众号及时获取网站内容更新。

请帅旋喝一杯咖啡

咖啡=电量,给帅旋充杯咖啡,他会满电写代码!

IT宅

关注公众号及时获取网站内容更新。