gpt4 book ai didi

java - 为什么我的 HTTPPost 收到 404 响应?

转载 作者:行者123 更新时间:2023-12-02 10:48:47 24 4
gpt4 key购买 nike

我正在使用 org.apache.http.client.methods.HttpPost 将数据发送到经过验证的 URL。我的客户端可以在某些系统上运行,但不能在其他系统上运行。我已验证我尝试从 JAVA 代码访问的 URL 可以使用 Web 浏览器从客户端系统访问。真正奇怪的是,当我查看 Tomcat 访问日志时,没有 POST 进入 Tomcat 的记录。

此时我唯一的猜测是客户端系统正在使用某种类型的应用程序级防火墙。我仍在研究这种可能性。

有人能想到为什么我收到 404 响应而 Tomcat 8 访问日志中没有请求记录的任何其他可能原因吗?

谢谢!

最佳答案

我在发布这个问题后大约一个小时就弄清楚了。我们的系统管理员更新了 HTTP 客户端尝试连接的 DNS 记录。 DNS 更新指向未托管客户端尝试与之通信的 Web 应用程序的应用程序服务器。

虽然 DNS 记录无效,但他重新启动了所有 HTTP 客户端服务,当它们尝试连接到 Web 应用程序时,客户端收到了 404 响应。

当我发现 DNS 记录有问题并让他更正 IP 后,我们就开始看到有问题的主题。

事实证明,当 HTTPClient 收到 404 响应时,它不再尝试绑定(bind)到 URL,直到客户端服务重新启动或创建新的 HTTPClient 实例。

这是我的客户端代码...

CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("UN", "PW"));
HttpClient client = HttpClientBuilder.create().setDefaultCredentialsProvider(credentialsProvider).build();

有人可以向我提供示例代码,以强制 org.apache.http.client.HttpClient 检查资源,尽管之前有任何 404 响应吗?

关于java - 为什么我的 HTTPPost 收到 404 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52338506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com