gpt4 book ai didi

java - 使用 HTTPURLConnection 在 Java 中将 HTTP 重定向到 HTTPS

转载 作者:搜寻专家 更新时间:2023-11-01 03:34:07 24 4
gpt4 key购买 nike

我在连接到针对我的 Java 代码中特定 URL 的 HTTP 请求时遇到问题。例如: http://www.linkedin.com 。这会引发服务器不可用错误。 (超时异常)。但是,如果 responseCode 是 301 或 302,我希望我的连接将 http 请求重定向到 Location header 值。

代码片段:

  HttpURLConnection urlConn =(HttpURLConnection) new URL(url).openConnection(); //For eg : http://www.linkedin.com
urlConn.setConnectTimeout(10*1000);
urlConn.setReadTimeout(10*1000);

boolean redirect = false;
int status = urlConn.getResponseCode(); //No response. Throws exception
if (status == HttpURLConnection.HTTP_MOVED_TEMP || status == HttpURLConnection.HTTP_MOVED_PERM)
{
redirect = true;
}

String contenttype = urlConn.getContentType();

if(redirect)
{
String newUrl = urlConn.getHeaderField("Location");//No I18N
urlConn = (HttpURLConnection) new URL(newUrl).openConnection();
urlConn.connect();
contenttype = urlConn.getContentType();
}

最佳答案

您的代码对我有用。显然,您遇到了一些网络问题。

http://www.linkedin.com在浏览器中工作?如果是,那么你可以检查它是否使用了一些代理。

关于java - 使用 HTTPURLConnection 在 Java 中将 HTTP 重定向到 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36930052/

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