我目前正在使用这个插件http://wordpress.org/extend/plugins/repress/它基本上使我的网站成为代理,以便用户可以访问这样的审查网站
www.mywebsite.com/proxy/www.cnn.com
该插件运行良好,但是当涉及到绝对链接时,插件无法正确解析它并且链接仍然被阻止。该插件开发已停止。所以我需要编写自己的脚本。我一直在到处搜索并阅读我能找到的教程,但没有一个能在这方面特别帮助我。
我知道如何使用 php curl 获取网站并在空白页面上回显。我不知道的是如何设置代理脚本以像上面的示例一样工作,用户可以键入
www.mywebsite.com
其次是
/proxy.php
然后是他们的目标网站
/www.cnn.com
目前我有这个设置:
<?php
$url = 'http://www.cnn.com';
$proxy_port = 80;
$proxy = '92.105.140.115';
$timeout = 0;
$referer = 'http://www.mydomain.com'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP');
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);*/
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_REFERER, $referer);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
?>
这会拉主页,但没有检索到 CSS 或图像。同样,所有相关链接都被破坏了。我不知道如何应用 proxy_port 和 proxy 变量。我试过了
92.105.140.115:80/www.cnn.com
但这不起作用。我也不太完全理解这段代码,因为我在一个示例网站上找到了它。
非常欢迎任何答案或教程链接。
谢谢你!