场景:某个活动需要使用二维码来分享活动,引流量入口,我使用google的zxing在服务器生成二维码时候,接口需要接收一个名为url的参数,这个参数的实际取值是个动态链接,比如:http://ac.txqq.com?url=www.baidu.com?simons&token=×××,很显然,服务端直接接收前端传递过来的参数时,浏览器会自动截取掉&极其后面的值。
很好解决:前端传递参数时候encode一下此参数即可。我这边在java模拟一下encode,再用encode后的参数发送请求
public static void main(String[] args) throws UnsupportedEncodingException {
String url = "www.baidu.com?channel=HY0649&type=02";
String encodeUrl = URLEncoder.encode(url, "UTF-8");
System.out.println(encodeUrl);
}
encode后的url参数输出为:www.baidu.com%3Fchannel%3DHY0649%26type%3D02
酱紫就可以啦!!!