有时候我们需要使用一个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 | String url = "/shopping/confirm.action?id=1&name=itzhai"; |
这样获得的code为:
L3Nob3BwaW5nL2NvbmZpcm0uYWN0aW9uP2lkPTEmbmFtZT1pdHpoYWk=
然后接受到该code时,就可以为URL解码了:
1 | String url = new String(Base64.decode("L3Nob3BwaW5nL2NvbmZpcm0uYWN0aW9uP2lkPTEmbmFtZT1pdHpoYWk=")); |