2011-03-27 74 views
1

有脚本接收到另一个URL作为GET参数问题:网址为URL的GET参数 - 以“&”

script.php?file=http://www.google.com&id=123 

的问题是:
当URL具有参数本身,它是用来作为脚本的参数,而不是URL的参数:

script.php?file=http://www.google.com?q=adsf&lang=en&id=123 

网址是http://www.google.com?q=adsf&lang=en,但&后切碎,因为涉及到script.php本身就被认为。

我该怎么办?
我累了,用%26替换&,但url被破坏了。

回答

2

你需要URL编码,你是作为参数传递到另一个URL整个URL(你的脚本)。 %26是&的正确编码。只要确保在使用之前将其解码为服务器端即可。你不会说你正在使用什么语言,但大多数,JavaScript和PHP都有原生URL编码功能。

2

尝试每一个特殊字符编码是这样的:

script.php?file=http%3a%2f%2fwww.google.com%3fq%3dadsf%26lang%3den&id=123 

虽然它可能会更好和更容易使用rawurlencode()

另外,请阅读关于URL编码的this