Spring RestTemplate 重定向 302

2023-11-22

我正在尝试使用 Spring Rest 模板执行登录请求。

RestTemplate restTemplate = new RestTemplate();

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);

LinkedMultiValueMap<String, Object> mvm = new LinkedMultiValueMap<String, Object>();
mvm.add("LoginForm_Login", "login");
mvm.add("LoginForm_Password", "password");

ResponseEntity<String> result = restTemplate.exchange(uriDWLogin, HttpMethod.POST, requestEntity, String.class);

我的 ResponseEntity 状态是 302,我想按照此请求获取正文响应,因为我没有获取此请求的正文。

18:59:59.170 MAIN [http-nio-8080-exec-83] DEBUG c.d.s.c.DemandwareCtlr - loginToSandbox - StatusResponse - 302
18:59:59.170 MAIN [http-nio-8080-exec-83] DEBUG c.d.s.c.DemandwareCtlr - loginToSandbox - BodyResponse - 

我能做什么来解决这个问题?


如果请求是 GET 请求,则会自动遵循重定向(请参阅这个答案)。要使其在 POST 请求上发生,一种选择可能是使用不同的请求工厂,例如HttpComponentsClientHttpRequestFactory,并将其设置为使用HttpClient具有遵循重定向所需的设置(请参阅Lax重定向策略):

final RestTemplate restTemplate = new RestTemplate();
final HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
final HttpClient httpClient = HttpClientBuilder.create()
                                               .setRedirectStrategy(new LaxRedirectStrategy())
                                               .build();
factory.setHttpClient(httpClient);
restTemplate.setRequestFactory(factory);

我还没有测试过,但这应该有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring RestTemplate 重定向 302 的相关文章

随机推荐

  • google-maps-react 获取拖动端的标记位置

    我试图弄清楚如何在拖动标记时检索标记位置 我找到了这个 拖动标记事件并提供纬度 经度回调 并在我的应用程序上实现如下 export class MapContainer extends React Component onMarkerDra
  • Swift 必须调用超类 uiinputviewcontroller 的指定初始化程序

    今天早上升级到 8 3 后 我收到了该主题的错误 下面的代码曾经完美地工作 但是它不再编译了 你们中有人可以帮助我吗 protocol CustomAccessoryProtocol func controlButtonPressed ta
  • 在 Mac 上运行时更改基于 JavaFX 的应用程序的应用程序名称

    请看一下这张图片 https i stack imgur com pFKKg png应用程序启动后 是否可以在运行时更改 Mac OS X 系统菜单栏中的应用程序名称 我的基于 JavaFX 的 Mac 应用程序 如果无法在运行时更改 是否
  • 月度数据的季节性分解,包括 r 中的 NA

    我需要帮助来分解具有季节性的每月数据 但它不起作用 因为 NA 值未删除 可能还有另一个问题 请查看我的数据和错误如下 ts monthly lt ts monthly rBC median frequency 12 start c 200
  • PHP 不区分大小写的explode()

    我有以下代码 explode delimiter snippet 但我希望我的分隔符不区分大小写 只需使用preg split 并通过flag i对于不区分大小写 keywords preg split your delimiter i t
  • 如何只显示div的前几行(夹紧)?

    我有一个清单divs我在其中显示较长文档的预览 这些文档使用不同的字体样式 所以我没有恒定的行高 这是一个例子 http jsfiddle net z56vn 我只需要显示每个文档的前几行 我们确定 300px 大约是合适的 如果我简单地设
  • 为什么BeautifulSoup无法正确读取/解析这个RSS(XML)文档?

    YCombinator 足够好 可以提供RSS feed and a 大RSS提要包含顶部项目黑客新闻 我正在尝试编写一个 python 脚本来访问 RSS feed 文档 然后使用 BeautifulSoup 解析出某些信息 但是 当 B
  • 尽管 ProxyPassReverse,gunicorn 通过 mod_proxy 正在重定向到项目范围之外

    我有一个 WSGI 应用程序 一个 Django 项目 在 Gunicorn 下运行127 0 0 1 18731我使用 Apache 和 mod proxy 来重定向请求http example com my project to htt
  • C:动态大小结构的推荐样式

    我需要通过互联网传输数据包 其长度应该是动态的 struct packet int id int filename len char filename 问题是零长度数组不符合 ISO 标准 我应该使用char filename 1 反而 但
  • 为什么 C++ 速度这么慢?

    我已将这个简单的方法从 C 转换为 C 它读取路径表并填充整数列表的列表 或整数向量的向量 路径表中的示例行类似于 0 12 5 16 n 我意识到一般来说有更好的方法可以做到这一点 但现在我只想知道为什么我的 C 代码正在使用so更久 更
  • 解析 CSS 背景图像

    如何解析 CSSbackground image 它支持多个值 可能是none和功能 例如url and linear gradient 带有多个逗号分隔的参数 我似乎无法使用正则表达式正确执行此操作 一个好的测试用例如下 linear g
  • MonoTouch 调试器永远不会连接到应用程序

    我遇到了 MonoDevelop 调试器拒绝连接到模拟器的问题 MonoDevelop 弹出一个框 显示 正在等待调试器连接 127 0 0 1 10000 但从未连接 我已经卸载并重新安装了所有内容 但仍然遇到同样的问题 我缺少什么 提前
  • 从两个字符串数组返回公共元素的最有效方法

    在Java中 从两个字符串数组返回公共元素的最有效方法是什么 我可以用一对 for 循环来完成它 但这似乎不是很有效 我能想到的最好的办法就是转换为List然后申请retainAll 根据我的评论类似的问题 List
  • 什么时候应该使用 Set [例如用于 SpecialCells 返回值]?

    恐怕我误解了 VBA for excel 的文档 我有这行似乎是一个错误 Range a Selection SpecialCells xlCellTypeConstants 23 但这个就很好了 Set a Selection Speci
  • C#:获取完整的桌面大小?

    如何知道整个桌面的大小 Not 工作区 和not 屏幕分辨率 两者都仅指一个屏幕 我想找出每个显示器仅显示一部分的虚拟桌面的总宽度和高度 您有两个选择 演示框架 dll SystemParameters VirtualScreenWidth
  • 如何从另一个包中找到fxml?

    我创建了一个简单的JavaFX应用 它有两个包 主类是JFXTest2 java is in good包和 fxml 及其控制器位于JFXTest2包裹 现在的问题是我无法在主类中加载fxml 我尝试加载 fxml 像这样 Parent r
  • 与“operator==”不匹配 C++ 编译错误

    来自 C 新手的另一个问题 我收到以下代码块的编译器错误 与 operator 不匹配 void swap Team t1 Player p1 Team t2 Player p2 Player new t1 11 Player new t2
  • 如何在 SQL Server 中更新具有数百万行的大型表?

    I ve an UPDATE可以更新超过百万条记录的语句 我想批量更新它们 1000 或 10000 我尝试过 ROWCOUNT但我无法得到想要的结果 只是出于测试目的 我所做的是 我选择了包含 14 条记录的表并将行数设置为 5 此查询应
  • 如何在 ConstraintValidator 中自动装配服务

    我正在使用 Spring MVC 编写我的应用程序 我想验证用户注册时数据库中是否存在电子邮件 我已经编写了自己的注释约束 名为独特的电子邮件 我的用户实体用户 java Entity Table name users public cla
  • Spring RestTemplate 重定向 302

    我正在尝试使用 Spring Rest 模板执行登录请求 RestTemplate restTemplate new RestTemplate HttpHeaders headers new HttpHeaders headers setC