浏览器自动将参数中的url转码问题
遇到一个问题,
开始的url如下:
http://localhost:6666/pages/wxpay.html? code_url=weixin://wxpay/biz
请求转发到谷歌浏览器打开后变成了
http://localhost:6666/pages/wxpay.html? code_url=weixin:%2F%2Fwxpay%2Fbizpayurl%3Fpr%3
也就是说,url中的参数code_url参数中的带有“//”被浏览器进行了编码
所以重新获取的时候,需要重新进行解码后才是原来的形式。

参考博客:
https://www.cnblogs.com/z-one/p/6542955.html
js对url进行编码和解码(三种方式区别)
*** 只有 0-9[a-Z] $ - _ . + ! * ' ( ) , 以及某些保留字,才能不经过编码直接用于 URL。 ***例如:搜索的中文关键字,复制网址之后再粘贴就会发现该URL已经被转码。 1、escape 和 unescape 原理:对除ASCII字母、数字、标点符号 @ * _ + - . / 以外的其他字符进行编码。 编码:escape('http://www.baidu.com?name=zhang@xiao@jie&order=1') 结果:"http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1" escape('张') 结果:"%u5F20" 解码:unescape("http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1") 结果:"http://www.baidu.com?name=zhang@xiao@jie&order=1" unescape("%u5F20") 结果:"张" 2、encodeURI 和 decodeURI 原理:返回编码为有效的统一资源标识符 (URI) 的字符串,不会被编码的字符:! @ # $ & * ( ) = : / ; ? + ' encodeURI()是Javascript中真正用来对URL编码的函数。 编码:encodeURI('http://www.baidu.com?name=zhang@xiao@jie&order=1') 结果:"http://www.baidu.com?name=zhang@xiao@jie&order=1" 解码:decodeURI("http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1") 结果:"http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1" 3、encodeURIComponent 和 decodeURIComponent 原理:对URL的组成部分进行个别编码,而不用于对整个URL进行编码 编码:encodeURIComponent('http://www.baidu.com?name=zhang@xiao@jie&order=1')
结果:"http%3A%2F%2Fwww.baidu.com%3Fname%3Dzhang%40xiao%40jie%26order%3D1" 解码:decodeURIComponent("http%3A%2F%2Fwww.baidu.com%3Fname%3Dzhang%40xiao%40jie%26order%3D1") "http://www.baidu.com?name=zhang@xiao@jie&order=1"
浏览器自动将参数中的url转码问题的更多相关文章
- django2自动发现项目中的url
根据路飞学城luffycity.com 的crm项目修改的 1 url入口:rbac/urls.py urlpatterns = [ ... # 批量操作权限 re_path(r'^multi/per ...
- 自动发现项目中的URL,django1版本和django2版本
一.django 1 版本 routers.py import re from collections import OrderedDict from django.conf import setti ...
- 自动发现项目中的url
def check_url_exclude(url): """ 判断url是否需要自动被发现,如果不是则移除 :param url: 自动发现的url :return: ...
- Android 通过URL scheme 实现点击浏览器中的URL链接,启动特定的App,并调转页面传递参数
点击浏览器中的URL链接,启动特定的App. 首先做成HTML的页面,页面内容格式如下: <a href="[scheme]://[host]/[path]?[query]" ...
- 记录一次bug解决过程:velocity中获取url中的参数
一.总结 在Webx的Velocity中获取url中参数:$rundata.getRequest().getParameter('userId') 在Webx项目中,防止CSRF攻击(Cross-si ...
- 在浏览器中输入url回车之后会发生什么
在浏览器中输入URL之后,浏览器会经历以下5个步骤: 1.解析URL 2.DNS域名解析 3.浏览器与网站建立TCP链接(三次握手) 4.请求和传输数据 5.浏览器渲染页面 一.解析URL 什么是ur ...
- 浏览器自动转换URL编码产生乱码问题
如果网址中含有汉字,浏览器会自动将其转换成URL编码,而在接收端,它又自动转换回来. 大部分时候都没什么问题,但有时候就很讨厌.因为生成这种URL编码,编码时的字符集和解码字符集不一定相同,比如编码时 ...
- 利用Django中的url方法实现地址动态拼接自动生成超链接地址
目标 建立一个图书列表页面,显示图书名列表,并实现点击书名跳转到图书详细页面,显示图书详细信息. URL方法简介 功能:返回一个绝对路径的引用(不包含域名的URL):该引用匹配一个给定的视图函数和 一 ...
- 在浏览器中输入URL并回车后都发生了什么?
1.解析URL ________________________________________________________________________ 关于URL: URL(Universa ...
随机推荐
- jmeter设置全局变量与正则表达式提取器
接口测试中,很多接口都要带上登录后的token才能正常发送请求,这里记录一下登录获取token设置为全局变量供其他接口使用 登录后返回信息信息中会有一个token值,添加后置处理器中的正则表达式提取t ...
- Python浅拷贝与深拷贝(可变对象与不可变对象)
第一次遇到深拷贝和浅拷贝的问题是用python在一个for循环中对一个list赋值,使用的语句是 a = b 这个b会不断带入循环,每次计算得到,最后发现list乱七八糟的,后来才发现,python中 ...
- 记:倍福(CP2611 Control Panel)了解
型号:CP2611 Control Panel Multitouch 11 为啥选型?嗯!因为不了解,了解了,作为只运行.net客户端窗体程序,谁会选用他,不是说他不好,反而相反,他是很优秀的嵌入式集 ...
- PI薄膜相关的基本理论
一.耐电晕的基本理论 在电场作用下,绝缘材料聚酰亚胺薄膜的部分区域发生放电短路的现象称为局部放电 根据局部放电发生部位的不同,可分为绝缘材料内部的局部放电.表面的局部放电.发生在导体边缘而周围气体被击 ...
- kibana 查询例子
1.数字比较和布尔查询 account_number:< AND balance:>
- VBNET线程和委托20191223
1.每个程序有一个主线程,如果一个循环处于主线程中,程序在较长的循环,将出现“不响应”的情况. 线程在System.Threading中.线程创建可专用于一个功能块(方法.函数), 线程的开始用Sta ...
- 版本控制器之SVN(一)
通常软件开发由多人协作开发,如果对代码文件.配置文件.文档等没有进行版本控制,将会出现很多问题: 备份多个版本,占用磁盘空间大 解决代码冲突困难 容易引发BUG 难于追溯问题代码的修改人和修改时间 难 ...
- MySQL中的SQL的常见优化策略
MySQL中的SQL的常见优化策略 MySQL中的索引优化 MySQL中的索引简介 1 避免全表扫描对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索 ...
- java web 二维码生成
pom支持: <!-- 二维码支持包 start--> <dependency> <groupId>com.google.zxing</groupId> ...
- Redis原子计数器incr,防止并发请求
转自:https://blog.csdn.net/Roy_70/article/details/78260826 一.前言在一些对高并发请求有限制的系统或者功能里,比如说秒杀活动,或者一些网站返回的当 ...