url 传递 url为什么需要编码

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http://api.baidu.com/callback.php&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
传递回调地址为什么要编码,如果不编码的话确实会出错,问题出现在哪里

阅读 2.3k
1 个回答

HTTP 协议规定如此,:#//?& 等字符对 URL 来说是有实义的,为了避免歧义,所以需要编码来转义。


只举一个关于 ? 的例子。

&redirect_uri=http://api.baidu.com/callback.php?key=val&callback=true 这一个 URL,你到底是想表达:

  • redirect_uri = http://api.baidu.com/callback.php?key=val
  • callback = true

这两个参数,还是想表达:

  • redirect_uri = http://api.baidu.com/callback.php?key=val&callback=true

这一个参数呢?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题