如何Url编码嵌套查询字符串

时间:2014-01-03 07:33:54

标签: url-encoding

我有以下网址:

  

http://www.test.com/?client=xyz&redirect_uri=http://www.xyz.com/x?p1=one&p2=two

我应该如何对这些进行url编码,以便当test.com实际上是redirect_uri参数的一部分时,浏览器不会将p1和p2解释为{{1}}的查询字符串。

1 个答案:

答案 0 :(得分:3)

我引用使用JavaScript的this question。和Dustin Boswell的this answer

encodeURIComponent()应该有效。例如,

'&url=' + encodeURIComponent("http://a.com/?q=query&n=10")

产生

"&url=http%3A%2F%2Fa.com%2F%3Fq%3Dquery%26n%3D10"

(该值中没有'&'或'?')。 当您的服务器获得此URL时,它应该能够解码它以获取原始文件:

param["url"] = "http://a.com/?q=query&n=10"

我不确定你正在使用什么服务器(例如Rails,Django,......),但这应该在任何正常系统上“开箱即用”。