0

我可以找到任何充当代理服务器(袜子,http,..)的php脚本并通过firefox连接到它(就像任何其他代理服务器一样)(例如,在该脚本充当代理之后首先运行脚本,...)我想绕过过滤

我已经看到了这个 sourceforge.net/projects/php-proxy ,我需要像 socks 代理一样连接到它

我没有任何服务器用作 ssh 隧道或在其中安装其他代理应用程序我只有服务器并允许在其中运行任何 php screapt

坦克

4

1 回答 1

1

代理服务器基本上做一件简单的事情:它加载您请求的日期(为了更容易,我假设它是其余答案中的一个网站)并将其发送给您。因为您不直接连接到该网站,所以它认为您位于请求页面的位置您的服务器。

有多种方式可以连接到代理服务器,其中一些使用自定义协议,而您可以在 Web 浏览器中使用 http(s) 连接到其他方式。因为您提到您想使用 Firefox 连接到您的代理,所以我假设您需要一个 Web 代理,例如hidemyass.com

当您在 Web 代理上请求网页时,会按此顺序发生以下事情:

  1. 您的计算机向 Web 代理发送请求。在此请求中也是您要加载的网站的地址;
  2. 代理打开您请求的网站。由于网站基本上只是一个数据文档,因此您可以使用一个简单的函数来打开它,例如file_get_contents(). 或者,您可以使用CURL更多选项和更好的性能。您将此数据保存在变量中;
  3. 代理现在已经获得了网站,但还不能向用户显示。因为几乎每个网站都加载其他文件(如样式表、脚本、图像甚至其他 HTML 文档),所以您还需要使用代理而不是用户的 Internet 连接来加载这些文件。实现这一点的最简单(而且不是无懈可击)的方法可能是查找http://数据中的每一个并将其替换为对代理服务器的请求;
  4. 现在您已将网站保存在服务器上的变量中,您只需将其显示给用户即可。您可以将其打印到屏幕上。只要确保使用请求的文件传递正确的标题!

请注意,这不是完美的代理服务器:例如,您还需要支持 https 请求并检查 AJAX 请求(或完全禁用 Javascript,许多代理服务器都会这样做)。如果您只想使用代理服务器,我建议您查看现有的(或查看您链接到的 Sourceforge 项目中的评论,其中包含指向更好替代方案的链接)。但是,如果您发现这是一个有趣的项目,那么祝您好运!

于 2012-08-23T15:00:59.747 回答