2009-10-08 36 views
3

出於某種原因,如果我使用的URL請求一個文件,像這樣:PHP:有沒有辦法改變請求地址?

http://localhost/proxy.php?url=http://anintranetsite/file.jpg

它的工作原理!我可以得到這個文件。但是,如果使用,

http://127.0.0.1/proxy.php?url=http://anintranetsite/file.jpg

我無法得到它的工作。我不是不理解正在發生的事情......對可能出錯的任何想法?

謝謝

+0

是否有錯誤?您的主機文件中是localhost嗎?你有虛擬主機設置爲localhost還是127.0.0.1? –

+0

感謝您的回覆......嗯......只是說,內部網防火牆抱怨說,它不允許訪問某些地址,在這些地址中,它給了我一些前綴,如10。*。*。*和127。*。*。* 。除此之外,是的,本地主機在主機文件,但我沒有任何虛擬主機設置afaik ... – Legend

+0

很高興知道,有什麼錯誤嗎?這可能聽起來微不足道,但究竟如何知道它不起作用? –

回答

1

聽起來就像您的瀏覽器配置了錯誤的代理服務器。

又名「No proxy for」應包含本地主機AND 127.0.0.1

+0

哇!謝謝......這對瀏覽器有效......現在是否有全局的方式來設置它,以便即使使用Java也可以這樣做?我的意思是,我確實嘗試了網絡代理並在Ubuntu中進行全局應用,但它似乎沒有工作... – Legend

+0

我不確定,那將是特定於應用程序的。但是Java有一些系統變量可以做你想做的事情。 http://java.sun.com/javase/6/docs/technotes/guides/net/properties.html 因此,例如,您將http.proxy設置爲您的代理,然後添加127.0.0.1和localhost非代理主機。 這可能會像%HTTP_PROXY%這樣的環境變量工作,但它又是特定於應用程序的。 – Gus

+0

實際上看看這個http://www.rgagnon.com/javadetails/java-0085.html底部附近,你可以通過命令行指定這些變量,所以你可以在那裏做。如java.exe -Dhttp.nonProxyHosts =「*。mycompany.com | * .mycompany.local | localhost」 – Gus

1

聽起來像一個路由器/防火牆問題。本地主機可能是別名到您的機器名稱而不是127.0.0.1

+2

127.0.0.1應始終解析爲本地計算機 - 但如果你有基於名稱的服務器,你可能無法獲得正確的文檔根目錄 – HorusKol

+0

啊......我想我終於到了某個地方......你介意告訴我如何修改它使127,0.0.1分到我的本地機器?我應該編輯/ etc/hosts文件還是有其他文件?謝謝 – Legend

相關問題