我有本地 apache 服务器,我需要通过代理传递来自 php 脚本(在我的本地服务器上运行)的所有请求。所以我需要为 apache/php 设置一个代理。
如何配置 apache 服务器来代理所有传出连接?
最佳答案
好吧,部分答案是肯定的。 php有socket打开函数,所以理论上你可以通过定义自己的函数来做任何事情。但是php在大部分做外部调用的函数中都引入了context参数。 file_get_contents 的示例用法如下:
$url = 'http://www';
$proxy = 'tcp://xxx:8080';
$context = array(
'http' => array(
'proxy' => $proxy,
'request_fulluri' => True,
),
);
$context = stream_context_create($context);
$body = file_get_contents($url, False, $context);
但是你不能做“某事”来让你所有的请求神奇地通过代理。 好吧,这也不完全正确,但是您必须在另一层上进行。 您可以使用 VPN,它可以很好地模拟网卡。 还有一些实用程序可以为 socks 代理做同样的事情,我也听说过一些黑客通过 http 代理移植某些东西,但我认为它们不太可能正常工作......
关于Php通过代理请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3889715/