0

質問を始める前に、同様の質問が最初のログインを通過するのに役立ったと言いたいです。私の問題は以下のとおりです。

ミラーリングしようとしているウェブサイトがあります。それは私がアカウントを持っているものです。私は wget を選択したツールとして使用しています。curl を試してみましたが、投稿データの送信は簡単ですが、目前のタスクには wget の方が適していることがわかりました。

Web サイトには、リダイレクト先の初期ログイン ページがあります。この後、ウェブサイト上のすべてにアクセスできます。ログインはしばらくするとタイムアウトしますが、それだけです。

以下の wget コマンドを使用して、Cookie を正常に保存し、それらを読み込み、すべての子フォルダーをダウンロードすることができました。ただし、私の問題は、各子が同じログイン ページの index.html を持っていることです。ルート フォルダーに対しては Cookie が正常に機能しているようですが、その下には何もありません。

私が使用したコマンドは次のとおりです。

wget http://site.here.com/users/login --save-cookies cookies.txt --post-data 'email=example@test.com&password=*****&remember_me=1' --keep-session-cookies --delete-after
wget http://site.here.com/ --load-cookies cookies.txt --keep-session-cookies -r -np

ポストデータの変数/ID が異なることに注意してください。それらが何であるかを確認するには、ログイン ページをダウンロードする必要がありました。

次に、remember_me の値を 1 に設定しなかった場合、cookies.txt が異なることに注意してください。

remember_me=1 なし

.here.com    TRUE    /   FALSE   numbershere   CAKEPHP   garbagehere

remember_me=1 の場合

site.here.com  FALSE   /   FALSE   numbershere   CakeCookie[rememberme]   garbage
.here.com    TRUE    /   FALSE   numbershere   CAKEPHP   garbagehere

その結果、前者はログインページのみをダウンロードし、後者はすべての子フォルダーにアクセスし、子フォルダーにはログインのインデックスが含まれているだけです。

私はちょっと立ち往生しており、wget と http の経験は非常に限られています。これを乗り越えるためにあなたは何をしますか?子ごとに Cookie を生成しますか? 子供ごとに手動で Cookie ファイルを作成する代わりに、どのように自動化しますか?

PS: 与えられた回答が反映されている場合、Linux を使用しています。

4

1 に答える 1

0

理解した。すこし。

上記のオプションで wget すると、すべての子が取得されます。次に、各子を(上記のオプションを使用して) wgetし、「/」で終わるフォルダーを必ず指定すると、機能します。

なぜこのような動作になるのかはわかりませんが、そうです。私がこれを行うと、子供たち、子供たち、またはそのようなものをつかむのに問題はありません。

于 2013-10-01T17:54:10.350 に答える