猿问

强制一个新的 HTTP 响应

我有一种方法可以发送请求并从网站获取响应。

响应每 4 小时更改一次。

我在两台计算机上有相同的 Java 代码。

  • 在第一个上,即使是现在,响应仍然与 24 小时前相同。

  • 编辑:第二个也有一个旧的(缓存的)响应,但一天后(当我第一次启动程序时)。

如果我尝试通过此网站 ( https://apitester.com/ )执行相同的请求/响应,它每次都会给我预期的结果。但是我的程序没有。

我在任何地方都使用相同的设置,例如网站 url 和用户代理。

那么我怎样才能强制一个新的、新鲜的响应版本呢? (Cloudflare 可能会为曾经使用过的 IP 地址缓存该站点?)


一只甜甜圈
浏览 148回答 2
2回答

LEATH

响应来自 CloudFlare,它可能缓存来自源服务器的响应。您需要确保您的请求指示服务器以及沿途的任何代理服务器不使用缓存。您应该能够使用Cache-Control标题来完成此操作。

holdtom

解决方案是这两个命令con.setDefaultUseCaches(false); con.setUseCaches(false);
随时随地看视频慕课网APP

相关分类

Java
我要回答