wgetが既存の接続を再利用するのを停止しますか?

wgetが既存の接続を再利用するのを停止しますか?

そのため、特定のWebページを取得するためにbashスクリプトでこのコマンドを試しました。

wget --no-cookies --header="Accept: text/html" --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0" -O $2/content.html $1

結果は、wgetが既存の接続を再利用するため、ウェブサイトからロボットページを取得することです。このコマンドはスパムテストを実行する前に機能しており、私のサーバーはサイトからボットテストリダイレクトを受けています(このコマンドは利用できません)。

--2017-12-12 19:16:42--  https://www.kayak.co.uk/h/bots/human-redirect.vtl?url=%2Fflights%2FDUB-LAX%2F2018-06-04%2F2018-06-25%2F2adults%3Fsort%3Dbestflight_a
Reusing existing connection to [www.kayak.co.uk]:443.
HTTP request sent, awaiting response... 200 OK

私の質問は:wgetが既存の接続を使用してダウンロードするたびにサイトに再接続するのを防ぐ方法はありますか?

ベストアンサー1

私はこれが古い質問であることを知っていますが、おそらく私のようにこの問題を経験している他の人に役立ちます。

「接続の維持」機能を無効にするには、この--no-http-keep-aliveパラメーターを使用します。

マニュアルページから:

HTTPダウンロードの「接続を維持」機能をオフにします。通常、Wgetは同じサーバーから複数の文書をダウンロードするときに同じTCP接続を介して送信するようにサーバーに接続を開いたままにするように要求します。これにより時間が節約され、サーバーの負荷が軽減されます。

このパラメータは通常、新しいクリーンな要求が必要な状況で必要です。厳密には関連していませんが、パラメータは--no-cacheパラメータを使用する--no-cookies文脈で関連する可能性があります。--no-http-keep-alive

したがって、OPのコマンドは次のようになります。

wget --no-http-keep-alive --no-cache --no-cookies --header="Accept: text/html" --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0" -O $2/content.html $1

おすすめ記事