Đôi khi URL của tôi sẽ chuyển hướng đến một trang mới, vì vậy tôi muốn nhận URL của trang mới.Cách nhận URL và nội dung được chuyển hướng bằng cách sử dụng HttpURLConnection
Đây là mã của tôi:
URL url = new URL("http://stackoverflow.com/questions/88326/");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setInstanceFollowRedirects(true);
System.out.println(conn.getURL().toString());
Đầu ra là:
stackoverflow.com/questions/88326/does-elmah-handle-caught-exceptions-as-well
Nó hoạt động tốt cho trang web Stack Overflow, nhưng đối với trang web sears.com, nó không hoạt động.
Nếu chúng ta bước vào đòn URL:
http://www.sears.com/search=iphone
đầu ra vẫn là:
Nhưng trên thực tế, trang web sẽ chuyển hướng đến:
http://www.sears.com/tvs-electronics-phones-all-cell-phones/s-1231477012?keyword=iphone&autoRedirect=true&viewItems=25&redirectType=CAT_REC_PRED
Làm cách nào để giải quyết vấn đề này?
Liên kết Sears không phải là chuyển hướng HTTP: 'curl --head -I http: // www.sears.com/search = iphone'. Nó có thể chuyển hướng thông qua JavaScript. – apricot