Php通过代理请求

时间:2010-10-08 10:37:07

标签: php apache proxy request

我有本地apache服务器,我需要通过代理传递来自php脚本(在我的本地服务器上运行)的所有请求。所以我需要设置apache / php的代理。

如何配置apache服务器代理所有传出连接?

2 个答案:

答案 0 :(得分:3)

答案是肯定的。 php具有套接字开放功能,因此理论上你可以通过定义自己的函数来完成所有工作。但是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,因为它可以模拟网卡。 还有一些实用工具可以为袜子代理做同样的事情,我也听说过一些黑客通过http代理移植东西,但我认为它们不太可能正常工作......

答案 1 :(得分:0)

使用nginx服务器和Apache。它是反向proxy server ..它可以配置为自己处理html requests并将php requests发送到Apache(Apache必须在localhost上监听)