无法从另一台服务器获取更新的文本文件。这是什么原因呢?
我正在尝试从另一台服务器获取经常更新的文本文件,例如 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不知道 php 也不知道curl,但我相信当我看到一个浏览器缓存问题时我就知道了。
当您的浏览器多次看到相同的 get request 请求时,它会为您提供缓存版本,而不是实际执行该请求。
有两种修复方法:
每次您想要获取更新的文件时,请清除浏览器缓存。 (这是个笑话)
当你发出 get 请求时,你应该在你的 url 末尾附加某种时间戳。
我会用 javascript 来做这个。
所以基本上我将一个名为“_”的参数附加到具有当前时间戳值的请求末尾。这将导致浏览器执行新的 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:
Clear your browser cache every time you want to get the updated file. (That's a joke)
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.
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.