PHP代理如何工作?
我希望制作一个类似于其他php代理的小脚本
但它实际上是如何运作的?
答案 0 :(得分:3)
这比你想象的要多得多。简单地调用远程网页并显示其内容是不够的(在最简单的情况下是readfile('http://google.com')
),你必须重写html文档中的网址再次指向你自己的代理,你需要能够处理https(或者你可以允许正常访问敏感数据,如果目标页面需要https)和许多其他(部分编译在RFC 3143中)。
也许apache的mod_proxy
拥有你所需要的一切,但如果你真的想自己写一个,研究其他项目的源代码(如php-proxy)可能会让你更深入地了解这个问题。 / p>
答案 1 :(得分:3)
我正在考虑一个PHP代理,用于解决AJAX Sane Origin Policy。如果您需要真正的HTTP代理,则该过程要复杂得多。
最简单的伪代码:
$_POST['url']
)注意:在这种最简单的形式中,您允许任何人通过您的PHP代理访问Internet上的任何URL;应该实现一些访问控制(例如,仅限登录用户,具体取决于您使用代理的内容)。