2010-11-24 169 views
2

我正在寫一個php腳本,它將從給定的URL中獲取數據,然後根據該數據運行大量計算,然後將其輸出給用戶。將URL作爲參數傳遞給PHP文件

有問題的網頁是一個嵌入了iframe的頁面。 iframe包含包含我需要的數據的javascript代碼,不幸的是,iframe不在與網頁相同的域中。所以我想要做的是從網頁中提取網址到iframe(我至少可以做到這一點,而不會遇到跨域限制),然後將URL傳遞給php文件,並且會加載該網址,並找到信息。

這會產生一個輕微的 URL中有很多參數已存在的問題。它的形狀在www.somesite.com/iframe.php?userstring=asfjkl & Arg1的形式= 654 & ARG2 = 132%2C9848%2C698

的問題是,該網址已經有爭論,這是行不通的以及我的PHP文件,這將混淆這些參數作爲參數,而不是URL的一部分,當我將用戶重定向到我的網站的網址mysite.com/test.php?URL=(string上面顯示的)。所以現在,我正在考慮POST請求,但發送POST請求不會重定向用戶,除非我實際上有一個表單。所以我的問題是,如果這是一個可行的想法,通過創建一個不可見的表單並將數據設置爲URL,然後提交它,並且如果允許跨域提交表單,則發送URL。 (我覺得是這樣的)。還有其他建議嗎?

回答

4

只需urlencode() URL參數。然後一切正常。

urlencode('http://www.example.com/blah?x=y&a=123&something=else'); 
// Returns http%3A%2F%2Fwww.example.com%2Fblah%3Fx%3Dy%26a%3D123%26something%3Delse 
+0

然後我會使用PHP的urldecode()來獲取URL,對不對? – LostInTheCode 2010-11-24 16:44:34