0

创建了一个新的 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。

4

1 回答 1

0

你能提供你的连接代码吗?作为一种通用方法,您可以为 HttpUrlConnection 设置 setInstanceFollowRedirect(false),这样重定向就不会通过,您可以手动处理它们。这是一个很好的例子: http ://www.mkyong.com/java/java-httpurlconnection-follow-redirect-example/

于 2013-10-02T02:34:46.760 回答