【问题标题】:How to stop Redirect and get response in AsyncHttpClient如何在 AsyncHttpClient 中停止重定向并获得响应
【发布时间】:2019-02-08 11:40:47
【问题描述】:

我有一个HTTP GET,它返回状态200 并带有一些响应。此响应是重定向的结果。

如果我在我的代码中引入asyncHttpClient.setEnableRedirects(false);,那么重定向会停止并且它会以状态 302 失败。但是在我的应用程序中,我需要这个状态 302 和与之相关的响应。

我正在网上搜索并试图弄清楚,但我是 Java 新手,所以无法理解如何实现这一点。

我想要的是,当服务器返回状态 302 时,我想触发 onSuccess 并捕获响应。谢谢。

【问题讨论】:

  • 所以您想停止与您的客户端进行重定向并检查具有 302 重定向状态代码的原始响应?您可以在使用构建器创建客户端时禁用重定向处理。
  • 是的,我想停止与我的客户端的重定向并检查状态代码为 302 的原始响应。我认为调用 setEnableRedirects(false) 会做到这一点。

标签: java xmlhttprequest http-get http-redirect http-status-code-302


【解决方案1】:

如果我说对了你需要什么,那么你可以实现你自己的 AsyncHandlers 来对 302 状态代码的不同 AsyncHandler.State 做出反应。 (https://github.com/AsyncHttpClient/async-http-client#using-custom-asynchandlers) 或在创建客户端时停止遵循如下重定向:

asyncHttpClient(config().setFollowRedirect(false))

(可能与您上面提到的方法不同。)

附:我正在使用 2.5.2 版本的 asynchttpclient 库。

【讨论】:

  • 这里面的config()是什么?
  • 导入静态 org.asynchttpclient.Dsl.config;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-31
  • 2021-01-18
  • 2017-04-17
  • 2019-08-24
  • 2018-11-11
  • 2014-08-28
相关资源
最近更新 更多