2011-03-27 161 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