2016-01-20 71 views
0

请考虑这个URL http://dx.doi.org/10.1006/jpdc.1997.1383。当我将它放入浏览器地址栏并按回车时,URL将变为http://www.sciencedirect.com/science/article/pii/S0743731597913836。使用Java,我如何获得第二个URL地址?如何在输入URL更改时获取新的URL?

+0

后你想检测的URLConnection CON后的URL重定向= url.openConnection(); –

+3

[Java - 如何查找URL的重定向url?]的可能重复(http://stackoverflow.com/questions/2659000/java-how-to-find-the-redirected-url-of-a-url ) – thegauravmahawar

回答

1
URLConnection con = new URL(url).openConnection(); 
System.out.println("orignal url: " + con.getURL()); 
con.connect(); 
System.out.println("connected url: " + con.getURL()); 
InputStream is = con.getInputStream(); 
System.out.println("redirected url: " + con.getURL()); 
is.close(); 
+0

'InputStream is = con.getInputStream();'是什么意思?你甚至没有使用它。你不需要。只需编写'con.getInputStream();' – user3049183

+0

你是一个与源相互作用的人(这样你就知道精确的终点)。因此,如果它被回收,con.getURL()将会不同。 – John

1

简单地调用URLConnection例如getUrl()调用getInputStream()