使用 HTTPS 连接重定向响应
Posted
技术标签:
【中文标题】使用 HTTPS 连接重定向响应【英文标题】:Redirect using HTTPS connection Response 【发布时间】:2013-08-26 17:33:19 【问题描述】:创建了一个新的 HTTPS 连接并在连接 URL 上执行了一个 GET 方法调用。
我没有发送 301 (30X) 重定向,而是收到了带有 Xhtml 页面数据的响应,当在浏览器中处理时,该响应会自动提交并发送到重定向页面,但是如何在 java 代码中处理相同的内容?
这是响应数据
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<body onload="document.forms[0].submit()">
<noscript><p><strong>Note:</strong> Since your browser does not support javascript, you must press the Continue button once to proceed.</p></noscript>
<form action="https://localhost:8083/Login" method="POST">
<div>
<input type="hidden" name="RelayState" value=""/>
<input type="hidden" name="ResponseData" value=""/>
</div>
<noscript>
<div>
<input type="submit" value="Continue"/>
</div>
</noscript>
</form>
</body>
</html>
仅供参考:我只需要向表单操作属性中的 URL 发送 HTTP/HTTPS 请求。我不打算在浏览器中打开 html。
【问题讨论】:
【参考方案1】:您能提供您的连接代码吗?作为一种通用方法,您可以为 HttpUrlConnection 设置 setInstanceFollowRedirect(false),这样重定向就不会通过,您可以手动处理它们。这是一个很好的例子:http://www.mkyong.com/java/java-httpurlconnection-follow-redirect-example/
【讨论】:
以上是关于使用 HTTPS 连接重定向响应的主要内容,如果未能解决你的问题,请参考以下文章
OpenID 连接成功的响应在重定向 uri 和访问令牌之间有 #
Amazon AWS 307 响应和永久重定向到 HTTPS
如何配置 Krakend 使其按原样返回 http 重定向响应而不是遵循 http 重定向?
使用 java servlet 在重定向响应中丢失 HTTP 自定义标头