无法从另一台服务器获取更新的文本文件。这是什么原因呢?

发布于 2024-12-25 04:32:26 字数 389 浏览 1 评论 0原文

我正在尝试从另一台服务器获取经常更新的文本文件,例如 http://site2.com/state.txt 使用 cURL 或 PHP 的 file_get_contents() 函数。

通过这两种方式,经过几次请求后,我得到了前一个文件,而不是更新后的文件。

如果我更改文件路径,例如 http://www.site2.com/state.txt获取更新的文件一段时间,然后再次开始获取旧的内容。

我该怎么做才能不断地获取更新的文件?

感谢您的帮助

I am trying to get a frequently updated text file from another server like http://site2.com/state.txt with cURL or PHP's file_get_contents() function.

With both two ways, after a few requests I'm getting previous file instead of getting the updated one.

If I change the file path like http://www.site2.com/state.txt it gets the updated file for a while and again starts to get the old content.

What can I do for getting the updated file countinuosly?

Thanks for help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦中的蝴蝶 2025-01-01 04:32:26

我不知道 php 也不知道curl,但我相信当我看到一个浏览器缓存问题时我就知道了。

当您的浏览器多次看到相同的 get request 请求时,它会为您提供缓存版本,而不是实际执行该请求。

有两种修复方法:

  1. 每次您想要获取更新的文件时,请清除浏览器缓存。 (这是个笑话)

  2. 当你发出 get 请求时,你应该在你的 url 末尾附加某种时间戳。​​

我会用 javascript 来做这个。

var url = "http://www.site2.com/state.txt?_=" + now();

所以基本上我将一个名为“_”的参数附加到具有当前时间戳值的请求末尾。这将导致浏览器执行新的 get 请求,并且不会向您提供缓存的版本。

I dont know php nor do I know curl, but I believe I know a browser caching issue when I see one.

When your browser sees the same get request request multiple times it serves you up a cached version instead of going and actually performing the request.

Two ways to fix:

  1. Clear your browser cache every time you want to get the updated file. (That's a joke)

  2. When you make your get request you should append some sort of time stamp to the end of your url.

I would do this in javascript.

var url = "http://www.site2.com/state.txt?_=" + now();

So basically I am appending a parameter named '_' to the end of the request that has the value of the current timestamp. This will cause the browser to perform a new get request and not give you the cached version.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文