/ / Redirección de HTTP a HTTPS en java usando HTTPURLConnection - java, httpurlconnection, url-redirection

Redirección de HTTP a HTTPS en java usando HTTPURLConnection - java, httpurlconnection, url-redirection

Estoy enfrentando un problema al conectarme a una solicitud HTTP para una url particular en mi código Java. Por ejemplo: http://www.linkedin.com . Esto arroja servidor no disponible error. (TimeOutException). Pero, quiero que mi conexión redirija la solicitud http al valor del encabezado de la ubicación si responseCode es 301 o 302.

Fragmento de código:

  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();
}

Respuestas

1 para la respuesta № 1

Tu código funciona para mí. Obviamente, estás enfrentando algunos problemas de red.

Es http://www.linkedin.com trabajando en tu navegador? Si es así, entonces puedes verificar si está usando algún proxy.