http://subs.sab.bz/からrarファイルに保存されている字幕ファイルをダウンロードしたい。このサイトでは、新しいリリースのrssフィードを提供しています。残念ながら、提供されたリンクはダウンロードページを開きますが、ファイルを取得しません。
ダウンロードページの中央にボタンがあり、それをクリックすると、目的のrarファイルのダウンロードがトリガーされます。とにかく、リンクを右クリックしてコピーして開こうとすると、ブラウザはダウンロードページ自体を開きますが、ファイルはダウンロードされません。wgetとcurlでファイルのダウンロードリンクを使おうとすると、phpファイルがダウンロードされます。そのような場合、サーバー側スクリプトを使用して正しいリンクをクライアントマシンに渡すことを読みました。
だから、私はwgetにこのリンクのonclickアクションをエミュレートさせる方法を探しています。私はダウンロードリンクの他のプロパティを見つけるのに十分なhtmlcssとjavascriptを知っています。
これもできますか?
PS。なぜこの質問が反対票を投じられたのか、私はかなり混乱していますか?良い説明があれば、投稿などのルールに違反しましたか、ありがとうございます。
あなたはいくつかのことを混乱させています。「Onclick」アクションはJavaScriptを参照し、クライアント側です。これらのリンクのJavaScriptフックがURLを解明するために何をするかを調べる必要があります。ただし、ここではonclickアクションは実行されません。
問題のWebサイトが行うことは、「ホットリンク保護」としても知られるリファラーチェックです。ブラウザはデフォルトでリファラー値を送信します。これは前のページのURLです。これは、他のサイトがファイルへの直接リンクを投稿することによってWebサイトの帯域幅から漏れないようにするために行われます。
リンクをコピーしてブラウザに直接貼り付けようとすると、ブラウザがリファラー情報を送信することを認識しないため、質問で説明しているのと同じ動作が得られます。
wgetにリファラー値を偽造するように指示するオプションは--referer
、および-e
curlです。通常、値はWebサイトのルートに安全に設定できます。Webサイトは通常、値が完全に正しいことを確認しません。
wget -O output.rar --referer http://subs.sab.bz/ 'http://subs.sab.bz/your-link-here'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加