URLが新しいページにリダイレクトされることがあるため、新しいページのURLを取得したい場合があります。ここでHttpURLConnectionを使用してリダイレクトされたURLとコンテンツを取得する方法
は私のコードです:
URL url = new URL("http://stackoverflow.com/questions/88326/");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setInstanceFollowRedirects(true);
System.out.println(conn.getURL().toString());
出力は次のようになります。
をstackoverflow.com/questions/88326/does-elmah-handle-caught-exceptions-as-wellは
これは、Stack Overflow Webサイトではうまく動作しますが、sears.comサイトではうまく動作しません。
我々はURLブロー入力した場合:
http://www.sears.com/search=iphone
を出力はまだです:
しかし、実際には、ページがにリダイレクトします:
http://www.sears.com/tvs-electronics-phones-all-cell-phones/s-1231477012?keyword=iphone&autoRedirect=true&viewItems=25&redirectType=CAT_REC_PRED
どうすればこの問題を解決できますか?
SearsリンクはHTTPリダイレクトではありません: 'curl --head -I http:// www.sears.com/search = iphone'。おそらく、JavaScript経由でリダイレクトされます。 – apricot