2009-10-08 35 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

相关问题