中断された「wget」セッションを続行しますか?

中断された「wget」セッションを続行しますか?

中断されたセッションを続行できますかwget? -oまたは-aで生成されたログファイルを解析したり、追加wget情報をディスクに保存したり(確認済みのリンクや保留中のリンクのリストなど)?

サーバーがサイズと日付のリストをサポートしている場合は、-Nオプションを使用して残りwgetから続行できることを知っていますが、私がダウンロードしたWebサイトにはほとんどPHPで生成されたコンテンツがあるため、-Nは機能しないと思います。

始めたことを続けたくはありませんが、可能であれば再び邪魔をする場合に備えて再試行する前に役立つ内容を開いておきたいと思います。

+++

また、追加の問題があります... "ERROR 400:Bad Request"がたくさん表示されます...それは問題があることを意味していると思います。また熱心なので、サーバーが私をブロックするか、データベースがしばらく圧倒されます。とにかく回復できますか?デフォルトでは、中断した部分から始めて(ログやリンクされたリストなどwgetを解析した後)、問題のあるページも再実行してください(例:リストを最初に編集した後など)。

ベストアンサー1

Wgetはさまざまな方法で使用できますが、PHPコンテンツに基づいてhttp(s)リクエストを作成するブラウザをシミュレートするためにWgetを使用するとします。

wgetが中断されたセッションを再開する方法はありません。 wgetが対話するWebサーバーはステートレスであるため、中断されたセッションで何が起こったのかを正確に追跡することはできません。あなたができることはもう一度要求するだけです。もちろん、それは新しいセッションになり、決して以前と同じではないので、あなたには役に立ちません。

wget セッションが中断されると、セッションは存在しなくなります。動的に生成されたコンテンツは特定のセッションに依存し、そのセッションを提供するためにのみ作成されます。セッションが終了すると、セッションの動的コンテンツは事実上もはや存在しなくなります。どういうわけか戻って、今はなくなったセッションを再開したり、そのセッションを提供するためだけに存在していた今はなくなった動的コンテンツと対話する方法はありません。

Webサーバーは状態を保存しないことを覚えておいてください。リクエストを行うと、そのリクエストに対する一意の応答がすぐに届きます。より複雑なもの(セッションや動的コンテンツなど)は、一時セッションIDおよび/またはトークンをブラウザに渡し、これらの状態の非保存要求をホストします。その後、次の要求が来たら、動的コンテンツを生成するアプリケーションまたはPHPスクリプトはそのセッションID /トークンを確認し、論理的に適切な方法でブラウザに応答します。

ブラウザが以前に持っていたのと同じセッションIDとトークンを何らかの形で再現できますが(時間を無駄にしないでください)、とにかくセッションID /トークンが数秒以内にサーバー側で期限切れになる確率は99.99999%です。最後のお願いです。

これはあなたの質問の範囲をはるかに超えていますが、あなたのブラウザがそのサーバーと対話する正確なコード/スクリプトによっては、偽のセッションID /トークンが渡される可能性がありますが、通常は回復できません。会話の会議が中断されました。あなたの場合は、セッションを再現するためにセッションを失う前にそのセッションID /トークンをキャプチャする必要があるため、これは不可能です。

おすすめ記事