Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 文件\u通过代理问题获取\u内容_Php_Apache_Proxy_File Get Contents - Fatal编程技术网

Php 文件\u通过代理问题获取\u内容

Php 文件\u通过代理问题获取\u内容,php,apache,proxy,file-get-contents,Php,Apache,Proxy,File Get Contents,我正在通过代理使用文件获取内容来获取网页。这个设置现在运行得很好,但从昨天开始,它开始产生奇怪的结果 file_get_contents函数的输出是一个过时的页面。如果我更改了代理,我会得到一个phpinfo页面或一个php中所有初始化变量的打印数组,我连接的两个服务器-结果取决于代理 我的服务器中是否存在缓存问题或代理中是否存在缓存问题。是否可能是他们的服务器负责 此外,直接或通过web代理访问页面不会出现上述问题。代理很可能会缓存页面。file_get_contents()是一个简单的获取源

我正在通过代理使用文件获取内容来获取网页。这个设置现在运行得很好,但从昨天开始,它开始产生奇怪的结果

file_get_contents函数的输出是一个过时的页面。如果我更改了代理,我会得到一个phpinfo页面或一个php中所有初始化变量的打印数组,我连接的两个服务器-结果取决于代理

我的服务器中是否存在缓存问题或代理中是否存在缓存问题。是否可能是他们的服务器负责


此外,直接或通过web代理访问页面不会出现上述问题。

代理很可能会缓存页面。file_get_contents()是一个简单的获取源代码并存储在内存中的函数,它不是缓存的。我知道squid proxy有许多缓存设置,但您必须详细说明代理设置以获得进一步帮助

奇怪的是,如果我使用另一个代理服务器,我会得到相同的过期页面,但它处于相同的状态-这就是我认为问题出在我这边的地方。奇怪。信息技术s肯定不是文件\u get\u contents()。这是一个简单的读取此位置和存储在内存中的功能。因此,如果您的服务器上有某种mitm缓存系统,可以拦截所有网络流量(可疑),那么代理将对其进行缓存(你尝试过完全模糊的代理吗?这很少见,但我见过一些人愚蠢地配置代理服务器,它像一个静态缓存一样使用,不注意谁在请求页面e.c.t。因此,你可能会得到其他人使用该代理请求的旧页面。再次令人怀疑)或者是服务器发送的页面可能有一些缓存控制,你的浏览器可能会忽略,但代理或你的服务器是遵守的。老实说,这是一个不断调试和跟踪的情况。如果我不亲自做同样的过程并从我自己的投资中得出答案,我无法给你一个黑白答案Tigation我在javascript中遇到了类似的问题,请尝试在当前时间添加get数据以指定请求
$scocontent=file\u get\u内容(/*TODO-put-in-file*/“?nothingimportantforthepage=“.date(“YmdHis”));
不同主机上的各种代理测试结果相同@micha我尝试了你的建议,没有区别,我甚至尝试从服务器获取另一个页面,它使用相同的旧副本进行响应…我将尝试更改连接的服务器并报告。