Java中使用Base64编码URL作为URL的参数
本文由arthinking发表于3年前 | Java基础 | 暂无评论 | 被围观 8,004 views+
有时候我们需要使用一个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编码:
String url = "/shopping/confirm.action?id=1&name=itzhai";
String code = new String(Base64.encode(url.getBytes()));
这样获得的code为:
L3Nob3BwaW5nL2NvbmZpcm0uYWN0aW9uP2lkPTEmbmFtZT1pdHpoYWk=
然后接受到该code时,就可以为URL解码了:
String url = new String(Base64.decode("L3Nob3BwaW5nL2NvbmZpcm0uYWN0aW9uP2lkPTEmbmFtZT1pdHpoYWk="));
标签:Java,String,URL,Base64,url,action,itzhai
From: https://blog.51cto.com/u_16065168/6493939