base64 和 url base64 和 encodeURIComponent
可以看出,非url base64不会对斜杠进行编码。
准确的说:url base64 会将 +和/分别替换为- _两个字符
假设是路径参数: http://a.com/aHR0cDovL2EuY29tL2M/YT0zJmM9MzQ= 这样传输肯定是后端解析不到完整的路径参数,所以要使用urlsafe_b64encode。
假设是url查询参数, http://a.com?c=aHR0cDovL2EuY29tL2M/YT0zJmM9MzQ= 和 http://a.com?c=aHR0cDovL2EuY29tL2M_YT0zJmM9MzQ 后端也肯定是可以正常解析的
当前端需要传递一个查询参数带有特殊字符的时候,可以使用encodeURIComponent,后端Flask能够正常解析出,明文传输会导致解析出来参数不完整
此处如果不使用encodeURIComponent编码会导致 callback_url= http://a.com/c?a=3&c=34 后端解析到参数是callback_url: http://a.com/c?a=3
py 解析encodeURIComponent
js urlsafe_b64encode