php - file_get_contents() 返回缓存的页面

标签 php linux curl dns browser-cache

我似乎遇到了非常奇怪的问题。

我在 URL 上调用 file_get_contents() 来获取电子邮件的 html。

像这样 -

file_get_contents('http://www.mywebsite.co.uk/email.php?name=Seb');

我已经使用这个方法上千次了。

当我调用 url 时,即使文件存在,我也会收到 404 header 。经过进一步调查,当我调用根域时,我得到一些默认的保留页面 -

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Refresh" content="0;url=defaultsite" />
<!-- UK -->
</head>
<body>
</body>
</html>

我检查了 DNS 记录,它们似乎是正确的。当我 ping url 时,我得到了正确的服务器 IP。如果我从命令行运行 -

curl http://www.mywebsite.co.uk

我得到相同的默认页面。然而,如果我将它 curl 到我的机器上,我就会得到正确的主页。有某种缓存吗?!

尝试了多次搜索,但都卡住了。非常感谢任何帮助!!

最佳答案

如果存在缓存,您可以通过向请求添加一个包含当前时间戳的参数来避免它。

file_get_contents('http://www.mywebsite.co.uk/email.php?name=Seb&t='.time());

它将强制服务器获取请求的资源。

关于php - file_get_contents() 返回缓存的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35019940/

相关文章:

linux - 通过 SSH 进行 Git pull

c++ - 如何在 Linux 中查询 Vsync 阶段

linux - curl 仅显示内容类型

c# - 在 C# 中使用带有 API key 的 HttpClient 类的 PostAsync 方法

用于实时视频流的 PHP + cURL(cURL 可以处理无限数据吗?)

php - Laravel - 是否可以将数据从外部网站保存到 mySQL 数据库?

php - 使用 PDO 序列化数据是否危险

php - 有没有办法追踪类自动加载触发的位置?

PHP + JavaScript 倒计时回显 5 秒/1 秒

python - 检测 GUI 中的特定按键