0
我正在使用file_get_contents通过代理来获取网页。这个设置现在很好,但从昨天开始,它开始产生奇怪的结果。通过代理问题的file_get_contents
file_get_contents函数的输出是一个过时的页面。如果我更改了代理服务器,我可以在php中获取phpinfo页面或所有已初始化变量的打印阵列,这两个服务器都连接到 - 取决于代理的结果。
在我的服务器中是否存在缓存问题或代理中存在缓存问题。他们的服务器可能是负责任的吗?
此外,直接访问页面或通过Web代理访问页面不会遇到上述问题。
奇怪的是,如果我使用另一台代理服务器,我得到相同的过时的页面它相同的状态 - 这是我认为问题出在我身边的地方。 –
奇怪。它肯定不是file_get_contents()。它从这个位置简单地读取并存储在记忆功能中。因此,无论您的服务器上是否有某种mitm缓存系统,都会拦截所有网络流量(可疑),代理缓存它(您是否尝试过一个完全模糊的代理?它很少见,但我看到一些人愚蠢地配置代理服务器,使用像静态缓存不注意谁在寻找页面等,这样你就可以得到其他人使用该代理请求的旧页面。再一次,它是可疑的) – Lee
或其发送页面的服务器可能有一些缓存控制,您的浏览器可能会忽略,但代理或服务器正在遵守。说实话,它是一个不断调试和追踪的例子。我无法给你一个黑色和白色的答案,没有从字面上做相同的过程,并从我自己的调查得出答案 – Lee