http://www.mcmaster.ca/academic/faculties.cfm
上記の URL をブラウザに入力すると、新しい URL にリダイレクトされます: http://www.mcmaster.ca/vpacademic/faculties.html
最初の URL からリダイレクト URL を取得するために使用できる方法はありますか?
http://www.mcmaster.ca/academic/faculties.cfm
上記の URL をブラウザに入力すると、新しい URL にリダイレクトされます: http://www.mcmaster.ca/vpacademic/faculties.html
最初の URL からリダイレクト URL を取得するために使用できる方法はありますか?
301
これをプログラムで行うのは少し難しくなります。元の URL は、サーバー側のリダイレクト ( or302
とLocation
ヘッダーを使用) ではなく、クライアント側のリダイレクト (JavaScript を使用) を介して 2 番目の URL にリダイレクトされるためです。
この特定のサイトは、次の JavaScript コードを使用してリダイレクトしています。
<script type="text/javascript">
<!--
window.location="http://www.mcmaster.ca/vpacademic/faculties.html";
//-->
</script>
いわゆるヘッドレス ブラウザー ( PhantomJSなど) を使用して、最初の URL をプログラムで読み込み、JavaScript を実行して 2 番目の URL に到達することができます。
https://stackoverflow.com/a/20231244/1547546のこの回答では、ヘッドレス ブラウザに関する詳細が提供されています。
これをコードで使用して、リファラー URL を追跡および記録できます。
String referrer = request.getHeader("referer");