Comment obtenir redirigé URL et de contenu à l'aide de HttpURLConnection

Parfois mon URL de redirection vers une nouvelle page, je tiens donc à obtenir l'URL de la nouvelle page.

Voici mon code:

URL url = new URL("http://stackoverflow.com/questions/88326/");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setInstanceFollowRedirects(true);

System.out.println(conn.getURL().toString());

La sortie est:

stackoverflow.com/questions/88326/does-elmah-handle-caught-exceptions-as-well

Il fonctionne bien pour le Dépassement de Pile site web, mais pour l'sears.com site, ça ne fonctionne pas.

Si nous entrons dans l'URL coup:

http://www.sears.com/search=iphone

la sortie est toujours:

http://www.sears.com/search=iphone

Mais en fait, la page de redirection vers:

http://www.sears.com/tvs-electronics-phones-all-cell-phones/s-1231477012?keyword=iphone&autoRedirect=true&viewItems=25&redirectType=CAT_REC_PRED

Comment puis-je résoudre ce problème?

La Sears lien n'est pas une redirection HTTP: curl --head -I http://www.sears.com/search=iphone. C'est probablement redirige à l'aide de JavaScript.

OriginalL'auteur user2105500 | 2013-02-24